欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    北邮信息工程通信网理论基础实验4报告——Floyd算法.doc

    • 资源ID:969772       资源大小:532.50KB        全文页数:11页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    北邮信息工程通信网理论基础实验4报告——Floyd算法.doc

    1、通信网理论基础实验报告 信息与通信工程学院通信网理论基础实验报告班级: 姓名: 学号: 序号: 第10页 实验四Floyd算法一、实验目的Floyd算法通过图的权值矩阵求出任意两点间的最短距离矩阵和路由矩阵。优点是容易理解,可以算出任意两个节点之间最短距离的算法,且程序容易实现,缺点是复杂度达到 ,不适合计算大量数据。本次实验要求利用MATLAB实现Floyd算法,可对输入的邻接距离矩阵计算图中任意两点间的最短距离矩阵和路由矩阵,且能查询任意两点间的最短距离和路由。二、 实验原理Floyd算法可描述如下:给定图及其边的权F0:初始化距离矩阵和路由矩阵。其中:F1:已求得和,依据下面的迭代求和F

    2、2:若,重复F1;若,终止。三、 实验内容用MATLAB仿真工具实现Floyd算法:给定图及其边的权,求出其各个端点之间的最小距离以及路由。1、分别用以下两个初始距离矩阵表示的图进行算法验证:分别求出和。2、根据最短路由矩阵查询任意两点间的最短距离和路由(1)最短距离可以从最短距离矩阵的中直接得出;(2) 相应的路由则可以通过在路由矩阵中查找得出。由于该程序中使用的是前向矩阵,因此在查找的过程中,路由矩阵中r(i,j)对应的值为Vi到Vj路由上的下一个端点,这样再代入r(r(i,j),j),可得到下下个端点,由此不断循环下去,即可找到最终的路由。(3)对图1,分别以端点对V4和V6, V3和V

    3、4为例,求其最短距离和路由;对图2,分别以端点对V1和V7,V3和V5,V1和V6为例,求其最短距离和路由。3、输入一邻接权值矩阵,求解最短距离和路由矩阵,及某些点间的最短路径。4、扩展的实验内容(选作部分)(1)实现Floyd算法的回溯路由矩阵;(2)探讨可降低算法复杂度的算法。四、程序基本信息1、设计语言及开发工具:MATLAB。2、数据结构:本次实验涉及到了数据结构中图的相关内容,如图的遍历等等。另外,实验中采用不定长数组存储算法的相关矩阵信息。3、主要函数(算法):本程序采用MATLAB语言编写,程序文件名为Floyd.m。第一部分:Floyd算法求出其各个端点之间的最小距离以及路由这

    4、里包含两种路由方法的Floyd算法:前向路由和回溯路由。下面先介绍其中的前向路由方法部分。它的主要思想及流程在实验原理部分已给出,下页以流程图的形式给出该段程序的工作流程,和原算法本身相比并无太多不同。回溯路由方法的Floyd算法流程如下:F0:初始化距离矩阵和路由矩阵。其中:F1:已求得和,依据下面的迭代求和F2:若,重复F1;若,终止。可见该算法仅在路由矩阵更新方面有些许不同,因此这里不再给出它的流程图。另外要说明的一点是,程序中无法表示,用100代替。Floyd算法(前向路由)流程图第二部分:Floyd算法程序改进Floyd算法中,距离矩阵每次更新的元素非常少(相对于矩阵元素总个数而言)

    5、,而路由矩阵又随着距离矩阵的更新而更新。原先的程序中无论是否更新都要执行一次赋值操作,其实只需要保留需要更新值的赋值操作,不更新值的赋值操作没有意义。因此优化后的程序可以大大减少赋值次数。这个程序其实没有改变原算法思想,只是针对程序本身进行了优化。第三部分:查询任意两点间的最短距离和路由这段算法非常简单,主要利用了Floyd算法生成的距离矩阵和路由矩阵,以下简述它的工作流程:五、程序运行结果与分析1、利用给定的两个路由矩阵判定算法正确性:矩阵1的执行结果:矩阵2的执行结果:注:上面的运行结果中,W1为最短距离矩阵,R1为最短路由(前向)矩阵,R2为最短路由(回溯)矩阵。2、根据最短路由矩阵查询

    6、任意两点间的最短距离和路由:以下查询均使用前向最短路由矩阵。矩阵1:V4到V6,V3到V4。即V4到V6的最短距离:6.8,最短路由:V4V1V7V2V6;V3到V4的最短距离:3.2,最短路由:V3V7V1V4。矩阵2:V1到V7,V3到V5,V1到V6。即V1到V7的最短距离:5.1,最短路由:V1V3V7;V3到V5的最短距离:3.7,最短路由:V3V1V2V5;V1到V6的最短距离:8.4,最短路由:V1V2V5V6。3、原程序与改进后的程序运行结果及时间比较:采用矩阵1进行测试。测试时,原程序的回溯矩阵处理语句被注释掉,即不让它处理回溯矩阵,同时两个程序的初始化矩阵W0和R0的时间都

    7、不考虑。原程序运行结果:改进后程序运行结果: 这里仅给出一次运行的结果。由上图可见,两个算法的运行结果是完全相同的(路由矩阵对角线上的元素不同,但是实际应用时对角线上的元素值没有意义),且优化后的程序执行时间比未优化的程序短。当然,每次运行结果都是不同的,有极小的可能会出现二者执行时间近似甚至优化后程序超过未优化程序。由于时间所限,无法对每次的运行时间加以统计,但大致上,优化后程序平均起来运行时间要比未优化的程序短20%到30%。对于阶数较大的输入矩阵,优化后程序的性能提升更为明显。六、遇到的主要问题1、Wk和Rk矩阵的表示问题两个矩阵本身是二维的,又要考虑一个k变量,因此采用三维数组。另外由于W和R矩阵都有一个初始矩阵W0和R0,因此k取值范围为1到n+1(n为方阵阶数)。2、多次执行查询两点间最短距离和路由算法时,输出的最短路由出现错误。 该问题当上一次执行的路由比这次的多时就会出现。每次执行都要处理一个数组并输出它的所有内容,出现错误的原因是本次算法执行前数组没有清空,导致前一次的路由信息也一并输出了。七、实验总结


    注意事项

    本文(北邮信息工程通信网理论基础实验4报告——Floyd算法.doc)为本站会员(风****)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922