最短路径(弗洛伊德算法)
让编程改变世界
Change the world by program
最短路径(弗洛伊德算法)
迪杰特斯拉算法对比弗洛伊德算法
[caption id="attachment_2637" align="alignnone" width="500"]
迪杰特斯拉算法对比弗洛伊德算法[/caption]
那我们为嘛还有讲它的必要呢?
- 因为迪杰特斯拉算法求的是一个顶点到所有顶点的最短路径,但弗洛伊德算法是求所有顶点到所有顶点的最短路径。
- 弗洛伊德算法非常简洁优雅。
为了能讲明白弗洛伊德算法的精妙所在,我们先来看最简单的案例:
[caption id="attachment_2638" align="alignnone" width="500"]
弗洛伊德算法[/caption]
D1[0][2] = min{D0[0][2],D0[0][1]+D[1][2]}
弗洛伊德算法原理
[caption id="attachment_2639" align="alignnone" width="500"]
弗洛伊德算法[/caption]
[caption id="attachment_2640" align="alignnone" width="600"]
floyd[/caption]
[caption id="attachment_2641" align="alignnone" width="600"]
floyd[/caption]
代码下载:floyd.c
[buy]
获得所有教学视频、课件、源代码等资源打包 [/buy]
[Downlink href='http://kuai.xunlei.com/d/BdsUAwLLTwD9MLpR488']视频下载[/Downlink]