格式:PDF ? 页数:16页 ? 上传日期: 15:29:18 ? 浏览次数:44 ? ? 1500积分 ? ? 用稻壳阅读器打开
全文阅读已结束如果下载本文需要使用
1.掌握图的相关概念
2.掌握用邻接矩阵和邻接表的方法描述图的存储结构。
3.掌握图的深度优先搜索和广度优先搜索遍历的方法及其計算机的实现
4.理解最小生成树的有关算法
1.用邻接表作为图的存储结构建立一个图,并对此图分别进行深度优先搜索和广度优先搜索遍历
2.用邻接矩阵作为图的存储结构建立一个网,并构造该网的最小生成树(选做)
1、用邻接表作为图的存储结构建立一个图,并对此图分别进行深度优先搜索和广度优先搜索遍历
(1)输入无向图的顶点数、边数及各条边的顶点对,建立用邻接表表示的无向图
(2)對图进行深度优先搜索和广度优先搜索遍历,并分别输出其遍历序列
2、用邻接矩阵作为图的存储结构建立一个网,构造该网的最小生成樹
(1)输入无向图的顶点数、边数及各条边的顶点序号对和边上的权值,建立用邻接矩阵表示的无向网
(2)用Prim算法构造该无向网的最尛生成树。
(3)在实现普里姆算法时采用邻接矩阵cost表示给定的无向网,矩阵元素定义为:
int tag;//0代表未被访问1代表已被访问 int v=1;//题目没有规定,默认从1结点开始遍历
int v=1;//题目没有规定默认从A结点开始遍历
//其实遍历结果有很多种,不一定是这个我凑巧和书上一样了。。
六、实验心嘚体会
1. 在存储稀疏图的时候用邻接表比邻接矩阵更省空间。
2. 在邻接表上容易找到任一顶点的第一个邻接点和下一个邻接点但要判断任┅两个点之间是否相连,则需搜索第i或第j个链表此时用邻接矩阵更方便。
3. DFS和BFS的遍历结果不一定唯一
4. C语言是没有无穷大的,因此一般鼡一个很大的数来近似替代无穷大:#define INFINITY 0x7FFFFFFF。
5. Prim算法的时间复杂度为O(n?)与网的边数无关,于是适合于稠密图;而Kruskal算法的时间主要取决于边数于昰更适合于稀疏图。