文章目录
- 1.什么是图?
- 2.抽象数据类型定义
- 3.邻接矩阵
- 4.邻接表
- 5.图的遍历
- 5.1 深度优先搜索 DFS
- 5.2 广度优先搜索 BFS
- 6.连通图
- 7.最短路径问题
- 7.1 无权图的单源最短路径算法
- 7.2 有权图的单源最短路径算法
- 7.3 多源最短路算法
- 8.最小生成树问题
- 9.拓扑排序
1.什么是图?
2.抽象数据类型定义
3.邻接矩阵
思考题
1、有
个顶点的无向完全图有多少条边?
2、给定有向图的邻接矩阵如下:
顶点2(编号从0开始)的出度和入度分别是:
解析:出度看行,顶点2在第三行,第三行都是0,所以出度是0;入度看列,顶点2在第三列,第三列有两个为1,所以入度是2
4.邻接表
5.图的遍历
5.1 深度优先搜索 DFS
测试
1、已知一个图如下图所示,从顶点a出发按深度优先搜索法进行遍历,则可能得到的一种顶点序列为
解析:a、e、d、f、c、b
5.2 广度优先搜索 BFS
类似于树的层序遍历
测试
1、已知一个图如下图所示,从顶点a出发按广度优先搜索法进行遍历,则可能得到的一种顶点序列为
解析:a、b、c、e、f、d
6.连通图
思考题
1、具有
个顶点的无向图至多有多少个连通分量?解析:
个
2、如果从无向图的任一顶点出发进行一次深度优先搜索可访问所有顶点,则该图一定是
解析:连通图
3、具有
个顶点的无向图至少有多少个连通分量?
解析:1个
7.最短路径问题
7.1 无权图的单源最短路径算法
7.2 有权图的单源最短路径算法
7.3 多源最短路算法
8.最小生成树问题
9.拓扑排序