数据结构——关于图的存储中十字链表和邻接多重表的理解和思考

有向图的十字链表

对于有向图来说,邻接表是有缺陷的,关心了出度问题,想了解入度就必须要遍历整个图才能知道,反之,逆邻接表解决了入度的情况。

把邻接表与逆邻接表结合起来,即有向图的一种存储方法十字链表(Orthogonal   List)。

我们重新定义顶点表结构

firstin表示入边表头指针,指向该顶点的入边表中第一个结点;

firstout表示出边表头指针,指向该顶点的出边表中第一个结点;

重新定义了边表结点结构

其中

tailvex是指弧起点在顶点的下标,

headvex是指弧终点在顶点表中的下标,

headlink是指入边表指针域,指向终点相同的一下条边

taillink是指出边表指针域,指向起点相同的下一条边。

如果是网,还可以再增加一个weight域来存储权值。

猜你喜欢

转载自www.cnblogs.com/wkfvawl/p/9985083.html