- 在线时间
- 138 小时
- 最后登录
- 2018-11-1
- 注册时间
- 2015-8-26
- 听众数
- 13
- 收听数
- 0
- 能力
- 0 分
- 体力
- 366 点
- 威望
- 0 点
- 阅读权限
- 30
- 积分
- 146
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 70
- 主题
- 23
- 精华
- 0
- 分享
- 0
- 好友
- 17
升级   23% TA的每日心情 | 难过 2016-5-14 14:04 |
|---|
签到天数: 18 天 [LV.4]偶尔看看III
- 自我介绍
- 软件开发工程师
 |
=========================================
! M7 e. r8 e0 j- Z. V6 G4 b最短路径中的Floyd算法(弗洛伊德算法)的较为严格的冥想证明过程:
; @) {0 F3 K0 d+ m0 r/ @2 D仍用数学归纳法,, K2 ?7 Q! P. s8 {8 W. ~: X
假设N<=n时,弗法正确。具体值我就不验证了。( W2 @5 D, I6 o% K# @
当N=n+1时,假设最新一点最后一点为K,此时K=n+1,
1 Y0 c# t5 U7 x. w) D# H三重循环中,我们都把K排在循环中的最后一位。/ J( V% r& E( p) y* _7 m6 n
现在我们要证明的是,加上新点K点后,经过弗法的三重循环,原来的n点之间仍是最短距离,但是n点与K点之间的短离是不是最短的就不知的。
n" Q3 I0 p( U9 \/ g3 {如果原来的n点的某两点之间最短距是与K点无关的,显然经过三重循环后,就是最短距了。
+ Z; t$ Z! f% O5 F如果原来的n点的某两点之间最短距是经过K点的,假设P1,P2,P3,,,Pk-1,Pk,Pk+1,,,Pm本应是实边最短距,不是虚边最短距。
S5 b: ^5 Q/ }7 Q/ J* f5 z那么由弗法知,P1,P2,P3,,,Pk-1与PK+1,,,,Pm已是连通的最短路了。且Pk-1Pk与PKPK+1是原始实边,不是虚边。# F$ L' h' d6 p$ u$ b
经过最外层最后一次循环的松驰操作,必能连通P1,P2,P3,,,Pk-1,Pk,Pk+1,,,Pm。6 r. a* A& E/ w& Y3 f/ G6 W1 g+ r
所以得证:加上新点K点后,经过弗法的三重循环,原来的n点之间仍是最短距离,但是n点与K点之间的短离是不是最短的就不知的。
; h2 Z9 l1 [. \8 B0 P' q% \* L由于对称性,将K点置入内部,把P1点放到最后一点,原来的循环结果不会变的,( x% `+ P! M* G' T' U9 t. i
所以三重循环后,K点与原来的点(除P1外)的最短距,就可以求出来了。
: [; X, V6 ]: w) X5 G* @由于对称性,将K点置入内部,把P2点放到最后一点,原来的循环结果不会变的, M3 O' ] d2 _0 B
所以三重循环后,K点与原来的点(除P2外,但P1不除外)的最短距,就可以求出来了。
F# L1 R) ^9 ^2 s% C所以K点与原来的n个点的最短距,也就已经求出来的了,仍是原来的三重循环也。
$ X( f6 d. n, j' r0 n这样,弗法就可以较为严格的证明了。" {, C. m* o3 t" K% I2 g
=========================================
2 e! M0 {6 `4 X$ S) m为何假设P1,P2,P3,,,Pk-1,Pk,Pk+1,,,Pm本应是实边最短距,不是虚边最短距???
, q$ D D6 \. m1 f如果是虚边最短距,也可以转化成实边最短距,然后结果一样的。& V' Z" h5 O' l% p3 h' Z. S
=========================================- P) Q: b% F, y6 I. G
- d+ I& [2 d, F$ {3 S" p# a* u' Z9 v. A; I+ d, K
|
zan
|