- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“数据结构课程中Floyd算法教学方法研究.pdf
Ed9cat·21
.·.
672—591 123—02
文章编号:1 3(2008)08-0
◆◆一…体再瓤谏艇习Computer
l
“数据结构课程中Foyd算法教学方法研究
舒新峰
(西安邮电学院计算机系,陕西西安710061)
摘要:Floyd算法是“数据结构”课程里的一个经典算法,但其原理却难以掌握,影响到该算法的教学效果。
本文从求最短路径的基本思想出发,对Floyd算法的原理进行了剖析,并给出了该算法的正确性证明,有助
于学生理解和掌握该算法。
关键词:最短路径;Floyd;教学方法;数据结构
中图分类号:G642 文献标识码:B
l 引言 最短距离与最短路径。当f≠,时,若两个顶点之间没有弧
’‘求图中两顶点之间的最短路径算法是“数据结构”课 呤的权值;
程在l冬I论章节罩面的重点内容,其在通信网络、电力网络 尸臼槲f】【『】=…’(没有途径其它顶点,故为空)。
及交通嗍络等地理信息系统中有着广泛的应用。解决最短 Step2:定义变量k,并将其初始值置为l;
路径问题有两个经典的算法,即Dijkstra(迪杰斯特拉)算法Step3:对于每一个乃与”组合(1≤f≤力,l≤,≤,,),
和Floyd(弗洛伊德)算法。前者一次可以求出图中一个给定
顶点到达其他所有顶点之间的最短路径,时间复杂度为
Dist[i][j】_Dist[i][k】+Dist[k][j】
O(n2):而Floyd算法则可以一次求出图中所有任意两个项
点之间的最短路径,时f.日J复杂度为O(n’)。 且
虽然可以将图中每个顶点作为起始顶点,逐一调用
Dijkstra算法来完成Floyd算法同样的功能,时间复杂度也
是O(n3),但Floyd算法从形式上更简洁一些。遗憾的是,
到”与K之间的最短路径中。符号“o”表示连接运算,
虽然许多文献资料对Floyd算法的思想和实现均有论述,
如”abcdto’fg,’-.。abcdf謦’。);
然而依然难以理解,影响到了该算法的教学和学习效果。
本文从求最短路径的基本原理出发,给出了该算法思路的
正确性证明,有助于学生理解和掌握该算法。
K与巧之间的最短路径则为”K”oPath[il[j】o”昨”。
2 Floyd算法的基本思想 从上面给出Floyd算法步骤可以看出,该算法过程极
为简捷,然而,为何经过这样的运算得到的就是坼与巧
对于任意给定的图G=(y,E),V为项点集合,E为
之间的最短距离,下面我们给出该算法的正确性证明。
弧的集合。设该图有n(n≥1)个顶点,不失一般性,令其分
别为K….,圪。Floyd算法不断的在图中任意一对顶点K
3 Floyd算法的正确性i正明
与嘣1≤f。,≤甩)之间的路径中加入一个新顶点以即k从l
变化到玎),并计算出只经过迄今为止所引入的顶点的所有 路径即在图L从一个顶点到达另外一个顶点所经过
可能路径的最短值。依次类推,直到包含了图中所有顶点 的顶点序列,欲求出图中任意两个顶点以到啊l
文档评论(0)