20162330 第十周 蓝墨云班课 十字链表

作业要求

  • 画出附件中有向图的十字链表:(附件见下图)

示例分析

  • 示例如下:

  • 分析:
    ① 首先可以标出各个顶点的序号;
    ② 找到每个顶点对应的入弧和出弧,可以进行标注;
    ③ 对于每一行的链表,都会有对应的以该行序号为弧尾的链表,并且用上一个链表的同弧尾指向下一个链表的弧尾;
    ④ 对于同弧头的链表,使用该链表的同弧头指向纵向对应的弧头;
    ⑤ 如果只有一个入弧,或者只有一个出弧,从而缺少同弧尾或者同弧头指向的链表,将同弧头或者同弧尾置为空。

  • 之所以被称为“十字链表”,是因为这个结构将行的单链表和列的单链表结合起来存储稀疏矩阵(大部分元素为 0 的矩阵)。可以看成是将有向图的邻接表和逆邻接表结合起来得到的一种链表。


实现过程

  • 所以除了b为弧尾,a为弧头的链表有对应的同弧尾之外(同弧尾对应b→e),其他链表都没有同弧头和同弧尾指向的顶点。


实现结果


参考资料

posted @ 2017-11-12 14:30  N-Liu  阅读(333)  评论(0编辑  收藏  举报