数据结构实验一图剖析
数据结构实验报告
实验名称: 实验二——图
学生姓名: 佘晨阳
20
学 号: 2014210491
日 期: 2015年12月05日
1.实验要求
根据图的抽象数据类型的定义,使用邻接矩阵或邻接表实现一个图。
图的基本功能:
1、图的建立
2、图的销毁
3、深度优先遍历图
4、广度优先遍历图
5、使用普里姆算法生成最小生成树
6、使用克鲁斯卡尔算法生成最小生成树
7、求指定顶点到其他各顶点的最短路径
8、其他:比如连通性判断等自定义操作
编写测试main()函数测试图的正确性
2. 程序分析
本实验要求,,,
2.1 存储结构
存储结构:1.不带权值的无向图邻接矩阵
2.带权值的无向图邻接矩阵
1.不带权值的无向图邻接矩阵
2带权值的无向图邻接矩阵.
3.带权值的有向图邻接矩阵
[备注]:
在使用打印元素、BFS、DFS 采用无权值的无向图邻接矩阵存储方式
在使用PRIM、KRUSKAL、
在使用最短路径的算法时采用具有权值的有向图邻接矩阵存储方式
1.关键算法:
templateclass f
Graphf::Graph(f a[], int n, int e) //带权值的图的构造函数
{
int i, j, k, height;
f s1, s2;
vnum = n;
arcnum = e;
for (k = 0; k n; k++) { vertex[k] = a[k]; } //初始化顶点
for (k = 0; kn; k++)
{
for (i = 0; i n; i++)
{
arc[k][i] = -1;
if (i == k) arc[k][i] = 0; //初始化权值的大小
}
visited[k] = 0;
}
cout endl;
{
cout 请输入线性链接节点:;
cin s1 s2 height;
arc[convert(s1)][convert(s2)] = height;
arc[convert(s2)][convert(s1)] = arc[convert(s1)][convert(s2)]; //采用无向图带权值的邻接矩阵
}
cout endl;
cout 所得邻接矩阵为: endl;
for (k = 0; kn; k++)
{
for (i = 0; i n; i++)
{
if (arc[k][i] == -1)
cout ∞ ;
else cout arc[k][i] ; //打印邻接矩阵的格式 }
cout endl;
}
cout endl
2.算法的时间复杂度
有构造可知,初始化时其时间复杂度:O(n2)
二:
1.关键算法
……
③若当前顶点的所有邻接点都被访问过,则回溯,从上一级顶点的下一个未访问过的顶点开始深度优先遍历
④直到所有和v路径相通的顶点都被访问到;
2.代码图解:
深度优先遍历示意图
3.代码详解:
templateclass f
void Graphf::DFS(int v)
{
cout vertex[v];
visited[v] = 1;
for (int j = 0; j vnum; j++) //连通图
if ((visited[j] == 0) (arc[v][j] = 1)) DFS(j); //当存在回路时,则连通深一层遍历
}
4.时间复杂度
时间复杂度:O(n2)
空间复杂度:O(n)
辅助空间O(n)
三S
1.关键算法
①访问顶点v
②依次访问v的所有未被访问的邻接点v1,v2,v3…
③分别从v1,v2,v3…出发依次访问它们未被访问的邻接点
④反复①②③ ,直到所有和v路径相通的顶点都被访问到;
2.代码图解
3.代码详解
1.初始化队列Q
2.访问顶点v, visited[v]=1
3. while(队列非空)
3.1 v=队头元素出队
3.2 访问队头元素的所有未访问的邻接点
4.时间复杂度
时间复杂度:O(n2)
空间复杂度:辅助空间O(n)
四.最小生成树——普里姆算法
一般情况下,假设n个顶点分成两个集合:U(包含已落在生成树上的结点)和V-U(尚未落在生成树上的
您可能关注的文档
最近下载
- 2025《麻江县蓝莓产业发展现状调研分析报告》4900字.docx
- 2026年国网安全管理方案.docx VIP
- 2025年北京师范大学学科教学培养方案 .pdf VIP
- 初级消防试题及答案大全.docx VIP
- 核医学教学课件:血液和淋巴显像.ppt VIP
- 重庆市各地方周氏支族源流(1-170支族).doc VIP
- 建筑工程质量管理体系流程图.docx
- 淋巴系统核医学检查课件.ppt VIP
- (高清版)B-T 6003.1-2022 试验筛 技术要求和检验 第1部分:金属丝编织网试验筛.pdf VIP
- (已压缩)TUCST007-2020房屋建筑与市政基础设施工程施工安全风险评估技术标准.docx VIP
原创力文档

文档评论(0)