十字链表
学习内容
- 学习十字链表表示方法,完成上课未完成的练习。
十字链表表示方法
- 十字链表(Orthogonal List)是有向图的一种存储方法,它实际上是邻接表与逆邻接表的结合,即把每一条边的边结点分别组织到以弧尾顶点为头结点的链表和以弧头顶点为头顶点的链表中。
这是上课时我们学过的例子。首先对v0进行分析:v0有入弧和出弧。出而v0右边的两项结构就像是把无向图的邻接表写开的结构,出弧指向下一个狐尾。而在第二个单元中v1有同弧头,所以要连到其他同狐头;而v1的入狐时本应该有同狐头,但在v0时横向第二个单元已经连接过了,所以不需要再次连到同狐头,连到已有单元的狐尾就行。下面的类似。
课上练习
- 这个练习相对于例子要简单许多,没有结点作为同狐头。需要注意图中有一个一个bcde组成的小循环,需要将e结点的入狐连接到b结点的一条出弧线上去。