




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
利用计算机语言编程实现D算法一:实验目的本实验课程主要目的是让学生够熟练掌握图论中的D算法。二:实验方法选择MATLAB语言编程实现D算法。三:实验要求1. 输入必要参数,包括:节点个数、节点间路径长度、给定节点;2. 输出给定节点到其它各节点的最短路径、径长;3. 节点间路径长度用矩阵形式表示。四:实验内容无向图共有7个节点,如下图所示。计算机输入的节点间路径长度为77矩阵:若为指定节点,则到其它各节点的最短路径及径长的计算机计算结果为:节点最短路径径长01237614提示:不相邻的两个节点间可以用相对较大的数代替(如输入100表示)五:实验原理1. D算法原理已知图G=(V,E),将其节点集分为两组:置定节点集和未置定节点集。其中内的所有置定节点,是指定点到这些节点的路径为最短(即已完成最短路径的计算)的节点。而内的节点是未置定节点,即到未置定节点距离是暂时的,随着算法的下一步将进行不断调整,使其成为最短径。在调整各未置定节点的最短径时,是将中的节点作为转接点。具体地说,就是将中的节点作为转接点,计算(,)的径长(),若该次计算的径长小于上次的值,则更新径长,否则,径长不变。计算后取其中径长最短者,之后将划归到中。当()最终成为空集,同时,即求得到所有其他节点的最短路径。表示与其他节点的距离。在中,表示上一次划分到中的节点到得最短路径。在 中,表示到()仅经过中的节点作为转接点所求得的该次的最短路径的长度。如果与不直接相连,且无置定节点作为转接点,则令=。2. D算法实现流程D算法流程如下图所示。六:例题的计算过程表1 D算法计算过程迭代次数置定节点Gp0=01=12=23=34=65=76=14表2 到其他各节点的最短路径和径长节点最短路径径长01236714七:仿真过程1. 输入参数:a. 输入无向图的节点个数提示:Please input number of the notes: k=输入:7;b. 输入对应节点个数的kk大小的矩阵,并且具有检测能力,如果矩阵大小不匹配,提示重新输入提示:Note: If there is no direct link between notes, use 100 to reprsent infinitePlease input the k*k matrix of the length of path: M=输入:0,1,2,3,100,100,100;1,0,100,100,100,6,100;2,100,0,100,5,4,100;3,100,100,0,4,100,100; 100,100,5,4,0,100,7;100,6,4,100,100,0,8;100,100,100,100,7,8,0若输入错误,提示:please input the correct size of the matrix,Please input the k*k matrix of the length of path: M=c. 输入起始节点提示:Please identify the initial note: s输入:1。2. 输出结果a. 输出最短路径矩阵(起始节点为)s = 1 1 1 1 1 1 1 0 2 3 4 3 3 3 0 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论