- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
离散数学课程设计----图的矩阵表示及基本运算
中国矿业大学
软件开发基础实践报告
姓 名: xxs 学 号: bbaa0edf
专 业: 计算机科学与技术
指导教师: sjc 职 称: js
(仅供徐海计算机参考哈哈哈哈)
2012 年 6 月 20 徐州
目录
第一章 实验概述 2
1.1 实验目的 2
1.2 实验内容 2
1.3 实验环境 2
第二章 实验原理和实现过程 3
2.1 实验原理 3
2.1.1建立图的邻接矩阵,判断图是否连通 3
2.1.2 计算任意两个结点间的距离 3
2.1.3对不连通的图输出其各个连通支 4
2.2 实验过程(算法描述) 4
2.2.1 程序整体思路 4
2.2.2具体算法流程 4
第三章 实验数据及结果分析 6
3.1建立图的邻接矩阵并判断图是否连通的功能测试及结果分析 6
3.1.1输入无向图的边 6
3.1.2建立图的连接矩阵 7
3.2 其他功能的功能测试和结果分析 8
3.2.1计算节点间的距离 8
3.2.2判断图的连通性 8
3.2.3输出图的连通支 9
3.2.4退出系统 9
第四章 实验收获和心得体会 10
4.1 实验收获 10
4.2 心得体会 11
第五章 实验源程序清单 12
5.1 程序代码 12
第一章 实验概述
1.1 实验目的
理解图论的基本概念,图的矩阵表示,图的连通性,图的遍历,以及求图的连通支方法。
通过实验,帮助学生更好地掌握计算机科学技术常用的离散数学中的概念、性质和运算,培养逻辑思维;通过实验提高学生编写实验报告、总结实验结果的能力,提高理论联系实际的能力;使学生具备程序设计的思想,能够独立完成简单的算法设计和分析。
1.2 实验内容
以偶对的形式输入一个无向简单图的边,建立该图的邻接矩阵,判断图是否连通(A),并计算任意两个结点间的距离(B),对不连通的图输出其各个连通支(C)。
注意:题目类型分为A,B,C三类,其中A为基本题,完成A类题目可达到设计的基本要求,其他均为加分题,并按字母顺序分数增加越高。
基本要求如下:程序需具有基本的容错控制,在输入错误时有处理手段;程序界面友好,需要输入的地方有输入说明,说明输入的内容和格式要求等;实验原理和实现过程应该详细分析问题,给出解决思路,描述算法思想,不能用源程序代替算法;测试数据应全面,包括非法输入的处理结果等都应包含在内。
1.3 实验环境
C或C++语言编程环境实现。
第二章 实验原理和实现过程
2.1 实验原理
2.1.1建立图的邻接矩阵,判断图是否连通
根据图的矩阵表示法建立邻接矩阵A,并利用矩阵的乘法和加法求出可达矩阵,从而判断图的连通性。
连通图的定义:在一个无向图 G 中,若从顶点vi到顶点vj有路径相连(当然从vj到vi也一定有路径),则称vi和vj是连通的。如果 G 是有向图,那么连接vi和vj的路径中所有的边都必须同向。如果图中任意两点都是连通的,那么图被称作连通图。
判断连通图的实现:在图中,从任意点出发在剩余的点中,找到所有相邻点循环,直到没有点可以加入为止,如果有剩余的点就是不连通的,否则就是连通的。或者也可用WallShell算法,由图的邻接矩阵判断图是否连通。
2.1.2 计算任意两个结点间的距离
图中两点i,j间的距离通过检验Al中使得aij为1的最小的l值求出。
路径P中所含边的条数称为路径P的长度。在图GV,E中,从结点Vi到Vj最短路径的长度叫从Vi到Vj的距离,记为dVi,Vj。
设图的邻接矩阵是A,则 所对应的aij的值表示,点Vi到点Vj距离为n的路径有aij条。
若aij(1),aij(2),…,aij(n-1),中至少有一个不为0,则可断定Vi与Vj可达,使aij(l)≠0的最小的l即为d(Vi,Vj)。
问题求解原理为:
(1) 先构造初始邻接矩阵A=Vij,Vij为顶点Vi到顶点Vj的权。如果Vi和Vj之间不存在弧段或者是负向回路或者是i=j,则令Vij其值为∞。
(2) 再构造初始中间顶点矩阵。
(3) 然后开始迭代计算(迭代的次数等于顶点的个数1)
(4)最后查找Vi到Vj的最短路径。
计算节点Vi与Vj之间的距离的方法为:
利用邻接矩阵相互间相乘后得到的矩阵来判断节点间的距离。如果c2[s][i][j]==0,则这两个节点的距离为无穷大。如果c2[s-2][i][j]==0,c2[s-1][i][j]==1时,则这两点间的距离为s。
2.1.3对不连通的图输出其各个连通支
图的连通支的求法则可采用图的遍历
您可能关注的文档
- 石灰氮--日光土壤消毒与生物菌剂联合修复连作障碍技术.doc
- 石膏砌块技术交底.doc
- 石蜡稳定乳状液的制备及性能.docx
- 石蜡装置操作工高级题库.doc
- 石钢PS用户操作手册.doc
- 矿业公司高压开关柜等招标文件及技术规范.doc
- 矿井维修高级钳工.doc
- 矿井通风安全毕业设计.doc
- 矿井综合自动化技术带式输送机系统.ppt
- 矿井通风技术 实训项目教学大纲.doc
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)