- 在线时间
- 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
- 自我介绍
- 软件开发工程师
 |
关于弗洛伊德算法的严格数学证明(草稿3):
+ X ^9 E1 ^$ {! [- k9 x4 h 2016.04.224 ?5 K" y% x$ N4 T2 z/ ^
~6 Y. _1 j. {$ i( [2 o
经过弗洛伊德算法的三重循环后,任意两点之间的距离已是最短路。
/ H0 F" J- @ n2 `. B5 f$ Y仍用数学归纳法,假设N <= n时,弗洛伊德算法是正确的,要证明,N = n+1时,弗洛伊德算法仍是成立的。 * @( k# ?, d9 v# G8 S
设k = n+1是最后一点。 9 @: j) K2 j! Q5 E# Y; [5 i
任意两点间的最短距,如果是不经过k点的,显然floyd算法成立。+ R0 o* l( P0 W0 P t
任意两点间AB的最短距,如果是经过k点的。
1 U- x3 o( y) k4 ~& S, j/ O6 Y" J9 E设路径为p=A....k....B,如果路径p中所有的顶点数P<=N,那么,把K点加入原顶点集合,把无关的顶点去掉,这三重循环就是N<=n的情形,所以弗洛伊德算法仍是成立的。
# f7 K+ e9 H) _* m: Q V. ]% l& X如果路径p中所有的顶点数P=N+1,那么这是一条直线来的,没有任何分支的。要证弗洛伊德算法成立,可能不难了。每处理一个顶点中间点,必是连接一个线段,所以弗洛伊德算法得证。9 z) P" l1 q: k% w/ R e: r7 e
所以弗洛伊德算法成立。
% T5 j! ], D2 f `8 [ S
, h1 X- x5 ]9 D e4 ]+ b A |
zan
|