1 .实验题目 图的基本操作 2 .实验目的 1)掌握图的邻接矩阵、邻接表的表示方法
2)掌握建立图的邻接矩阵的算法
3)掌握建立图的邻接表的算法
4)加深对图的理解,逐步培养解决实际问题的编程能力 3 .需求分析 (1 )编写图基本操作函数
①建立图的邻接表,邻接矩阵 Create_Graph( LGraph lg
MGraph mg ) ②邻接表表示的图的递归深度优先遍历 LDFS( LGraph g, int i ) ③邻接矩阵表示的图的递归深度优先遍历MDFS( MGraph g,int i, int vn ) ④邻接表表示的图的广度优先遍历 LBFS( LGraph g, int s, int n ) ⑤邻接矩阵表示的图的广度优先遍历 MBFS(MGraph g, int s, int n ) (2 )调用上述函数实现下列操作
①建立一个图的邻接矩阵和图的邻接表
②采用递归深度优先遍历输出图的邻接矩阵 ③采用递归深度优先遍历输出图的邻接表
④采用图的广度优先调历输出图的邻接表
⑤采用图的广度优先遍历输出图的邻接矩阵 4 .概要设计 (1 ) : /**********************************图的基本操作**********************************/ //------------------------------- 邻接矩阵数据类型的定义-------------------------------- // 最大顶点个数 typedef struct { char vexs[MAX_VERTEX_NUM]; // 顶点向量 int acrs[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; // 邻接矩阵 int vexnum,arcnum; // 图当前顶点数和弧数 }MGraph