十字链表的画法
基本概念
十字链表(Orthogonal List)是有向图的另一种链式存储结构。该结构可以看成是将有向图的邻接表和逆邻接表结合起来得到的。
- 入弧和出弧:入弧表示图中发出箭头的顶点,出弧表示箭头指向的顶点。
- 弧头和弧尾:弧尾表示图中发出箭头的顶点,弧头表示箭头指向的顶点。
- 同弧头和同弧尾:同弧头,弧头相同弧尾不同;同弧尾,弧头不同互为相同。
我研究得出画十字链表的方法
还是以课上老师给出的有向图为例
-
第一步,列出图的所有顶点,并进行编号。画五行含三个方格的横格,每一排最左边那格分别填写各顶点,入弧和出弧的暂时不管。
-
第二步,画出各行对应的顶点表示出弧的所有关系——即右半部分的那些含四个方格的横格。画的时候为了方便之后的连线,建议可以将弧尾相同的画在同一行,将弧头相同的画同一列。填写弧尾与弧头,同弧头和同弧尾先暂时不管。
-
第三步,连线。
- 将表示顶点的三格图中入弧指向对应列所有的四格方格。例如a的编号为0,则a的入弧指向第一列弧头为0的四格方格。
- 四格方格中,同弧头指向本列,同弧尾指向本行。
- 若出弧或同弧尾右边没有方格,则为空。