一. 图的基础
(1) 图的结构:
(2) 图的要素:
图 = 顶点(vertex) + 边(edge) + 权重(weight) + 度 (degree)
G(V, E, W, D)
- 度:与这个顶点相连接的边的数目。
- 入度:有向图中,指向该顶点的边。
- 出度:有向图中,从该顶点出发,指向其他顶点的边。
(3) 图的分类:
有向无向
有权无权
(4) 图的表示:
4.1 图的表示方法一:邻接表
引申:
应用:?
4.2 图的表示方法二:邻接矩阵
4.3 图的稠密稀疏判定
表示方法 | 空间、时间复杂度 | 是否能表示方向 | 能否直接表示权重 | 选取原则 | 一般性原则 | 稀疏稠密判定 |
---|---|---|---|---|---|---|
邻接表 | O(V+E) | 是 | 不能直接表示,改动后可以 | 适合表示稀疏图 | 同一个节点的边的个数小于10.均使用邻接表处理。 | ! ( V << E ) |
邻接矩阵 | O(V^2) | 是 | 能 | 适合表示稠密图 | V << E 接近完全图 |
【例1】图的表示方法实例:
Graph | testG.txt |
---|---|
![]()
|
|
邻接表 | 邻接矩阵 |
|
|
二. 图搜索基础:
2.1 深度优先搜索(DFS)
(1)DFS过程
0 | 1 | 2 |
---|---|---|
![]()
|
|
![]()
|
3 | 4 | 5 |