- 21
- 0
- 约3.13千字
- 约 4页
- 2015-07-22 发布于河南
- 举报
数据结构课程设计报告
学号 姓名:范莹莹
题目
图的算法实现
(1)将图的信息建立文件;
(2)从文件读入图的信息,建立邻接矩阵和邻接表;
(3)实现Prim、Kruskal、Dijkstra和拓扑排序算法。
算法思想描述
本程序涉及到图的存储结构的建立、Prim、Kruskal、Dijkstra和拓扑排序算法。
1、存储结构的建立:
实现从文件中读入图的信息,同时建立:有向邻接矩阵、无向邻接矩阵、有向邻接表、无向邻接表。
首先进行有向邻接矩阵、邻接表和无向邻接矩阵、邻接表的初始化。
初始化有向邻接矩阵和无向邻接矩阵时,因为不知道会读入几个顶点和几条边,所以取无向邻接矩阵,把它存顶点的字符数组各字符初始化为“*”,以方便判断顶点名称记录到哪了。各边的度都初始化为9999,表示不连通.顶点数和边数都初始为0, GraphKind分别初始为YOUXIANG,WUXIANG。
初始化有向邻接表和无向邻接表时,顶点数、边数、GraphKind初始方法同上. 所有firstarc指向NULL表示还没有边。
接着,向四个图中记录读入边的信息。用一个函数判断新读入的边的顶点是否在以前读入的信息中出现过,若没出现过则去记录顶点名称,出现过则不用了。无向图把信息当作无向的,一次添加两条边,有向图把信息当作有向的,一次只添加一条边,邻接矩阵添加
原创力文档

文档评论(0)