图(分为“无向图”与“有向图”)
*树也是特殊的无向图
由顶点与边(有长度)组成。
*无向图可看为“双向有向图”。
图的两种表示方法
1. 邻接矩阵
规则:若 a 能直接到达 b,则第 a 行 b 列的距离即为所填值。
若不能直接到达,则为 -1 或 +inf。
特别的,自己到自己距离为 0.
*若无向图,则表格对称。
(若无特别表明距离,则设为 1 即可。)
2. 邻接表
邻接表(链式前向星)存储图比邻接矩阵更加高效。
邻接表由点表(由点构成的表)(上)和边表(由边构成的表)(下)组成。
Head数组存储的是以该点为起点(按照加入时间顺序)最后加入的一条边。
边表from数组实际操作没有用处,不过在查错环节还是有用的。
Next数组是以该边起始点为起点的上一条边(按照加入时间顺序)