前言
写到这里,不免想起当年高一的 NOIP2014 因为把邻接链表给写错了而差 5 分错过一等奖导致一路再起不能。
子目录列表
1、概述
2、边存储
3、邻接矩阵
4、邻接表
5、图的遍历
8.2 图的存储与遍历
1、概述
数据结构往往有两种存储方式 —— 顺序和链式。顺序采用数组,链式多采用链表,图虽然结构复杂,但其实也是以这两种思路对其进行存储,只不过更为麻烦。
首先,图的读入方式基本上是给定图的点数 n 和边数 m,然后对于 m 条边,每条边给定 u 和 v。
下面以有向赋权图举例(无向图直接视作双向边即可)
2、边存储
① 概念
直接将给定的 m 组 (u, v) 用数组存下来。
② 示例
③ 优劣势
优势:
在最小生成树(请参见:8.3 最小生成树)中的 Kruskal 算法中,因为需要将边按边权排序,需要直接存边。