...
...
参考:《大话数据结构》 邻接表的缺陷:不能同时关注出度和入度 十字链表: (1)顶点表 firstin表示入边表头指针,指向该顶点的入边表中的第一个结点;firstout表示出边表头指针,指向该顶点的出边表中的第一个结点。 (2)边表结点 tailvex是弧起点在顶点表中的下标 ...
...
时间一晃已经大二下了,学校也开了数据结构的课,想起了自己大一刚会C语言,自学数据结构的时候,那时候很无助啊,不懂就只有拼命看,改bug改很久。 老师一节课讲完了邻接表,十字链表,邻接多重表。然而感觉他好像在自己讲自己的,一点也不认真。 但是依托老师是不行的,只懂理论也不行,或许学生认为邻接矩阵 ...
稀疏矩阵的压缩存储有几种方式,如:三元组顺序表、行逻辑链接的顺序表和十字链表。 使用链表存储的好处是:便于矩阵中元素的插入和删除。 例如:“将矩阵B加到矩阵A上”,那么矩阵A存储的元素就会有变动。比如会增加一些非零元,或者删除一些元素(因为bij+aij=0)。 下图是矩阵M和M的十字链表 ...
有向图的十字链表 对于有向图来说,邻接表是有缺陷的,关心了出度问题,想了解入度就必须要遍历整个图才能知道,反之,逆邻接表解决了入度的情况。 把邻接表与逆邻接表结合起来,即有向图的一种存储方法十字链表(Orthogonal List)。 我们重新定义顶点表结构 firstin表示入 ...
邻接表固然优秀,但也有不足,例如对有向图的处理上,有时候需要再建立一个逆邻接表。 而这个十字链表就是把邻接表和逆邻接表结合的玩意。 所以重新定义节点的数据结构 我们看到顶点表多了一个指针。多了一个In的指针。 描述成代码就是这样 typedef struct ...
...