实验内容及原理
涉及的知识点:图的表示法、生成树的概念、图的深度优先、广度优先遍历算法,拓扑排序、最短路径和关键路径
实验内容:
编写程序实现对下图的先深、先广遍历
具体要求:
- 使用图的邻接矩阵表示法进行编程
- 实现如下基本接口
FirstAdj(v): 找到编号为v的顶点的第一个邻接顶点
NextAdj(v,w): 设w是v的邻接顶点, 找到v的排在w后的下一个邻接顶点.
DepthFirstSearch(v) 对连通图从顶点v开始进行深度优先访问
BroadFirstSearch(v) 对连通图从顶点v开始进行广度优先访问
四、实验过程原始数据记录
main.cpp
#include"Graph.h"
int main()
{
MGraph graph;
int VertexNum = 8;
graph = BuildGraph();
ShowGraph(graph);
cout << "顶点1的第一个临结顶点序号 "<< '\n';
cout<<FirstAdj(graph, 1)<<'\n';
cout << "顶点1的第一个临结顶点后一个临结顶点序号 " << '\n';
cout << NextAdj(graph, 1, FirstAdj(graph, 1)) << '\n';
cout << "深度遍历图 " << '\n';
De