北京邮电大学数据结构实验第二次实验图
更新时间:2023-10-02 11:49:01 阅读量: 综合文库 文档下载
数据结构实验报告
实验名称: 实验2——图 学生姓名: 班 级: 班内序号: 学 号: 日 期: 1.要求
根据图的抽象数据类型的定义,使用邻接矩阵或邻接表实现一个图。 图的基本功能:
1、图的建立 2、图的销毁 3、深度优先遍历图 4、广度优先遍历图
5、使用普里姆算法生成最小生成树 6、使用克鲁斯卡尔算法生成最小生成树
7、求指定顶点到其他各顶点的最短路径
2.程序分析
3.算法分析
3.1深度优先遍历
(1)设置一个数组记录节电状态: bool visited[MAXSIZE]={false}; (2)从节点v开始访问,设置该节点的visited[v]=true; (3)寻找节点v的第一个未访问的邻接点:
for (int j=0;j if (arc[v][j])==1&&!visited[j]) 3.2广度优先遍历 (1)初始化队列Q bool visited[MAXSIZE]={false}; (2)访问顶点v,visited[v]=true (3)While(队列非空) V=队头元素出队; 访问队头元素的所有未访问节点。 for (int j=0;j if (arc[v][j])==1&&!visited[j]) 3.3普里姆算法 (1)初始化辅助数据结构 (2)选择辅助数组lowcost中最小值,即U->V-U的最小权值边集合中的最小权值边。 (3)迭代的更新adjvex和lowcost。即U->V-U的边集更新一次。寻找每一个邻接点到U集合的最小值。重复(2)(3),直到U为空。即最小生成树。 3.4克鲁斯卡尔算法 (1)获取EdgeList,并对其排序。 (2)构建辅助数据结构,判断新加入的边是否构成回路。 (3)选择一条最小边,该边两个顶点若分属不同的集合i和j,则在vest中寻找所有编号为j的顶点,将其更新为i,否则选择下一条边。 (4)复杂度为o(n2) 3.5Dijkstra (1)源点直接到达顶点的所有路径,选出最短一条 (2)以此路径为出发路径,找出到达其他顶点的路径,并选出最短一条路径。 重复执行(2)。直到所有顶点。 4.
正在阅读:
北京邮电大学数据结构实验第二次实验图10-02
Excel vba入门系列讲座02-27
心理学专业 大学生职业生涯规划03-29
政务信息工作经验交流发言材料05-06
XK3101XS型称重数传器和XK3101DS型称量接收显示器说明06-29
银行客户经理2018年工作计划03-24
我不是药神观后感12-11
冶金工程毕业论文07-26
共青团上海第十五次代表大会代表候选人预备人选 - 图文06-12
腿部抽筋的原因和解决办法10-02
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 北京邮电大学
- 实验
- 数据结构