1,图的基本概念
- 由节点和边组成;序列表(向量,链表,树,等)都可以看作是图的特例。
- 邻接,关联
- 有向图(有向边),无向图(无向边),混合图
- 路径,环路,有向无环图(DAG)
2,Graph模板类
3, 邻接矩阵与关联矩阵
- 关联矩阵:顶点x边;
- 邻接矩阵:顶点x顶点;
4,基于邻接矩阵,实现Graph的一种方式
- 顶点与边的动态/静态操作
- 特点:易于理解与实现,扩展性好;空间性能差;
- 引申:欧拉定理:V-E+R=2。
5, 广度优先遍历(BFS)
- BFS过程,会产生支撑树(Spanning Tree),串接起所有顶点。
- 算法:
- BFS等同于树的层次遍历, 具体实现:
-
BFS产生最短路径
6, 深度优先搜索(DFS)
- 特点(vs.BFS):策略更简明,过程更复杂,功能更强大!
- 算法:
-
实现:
-
多可达区域
7,括号引理:时间标签的作用强大!