- 在线时间
- 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
- 自我介绍
- 软件开发工程师
 |
关于弗洛伊德算法发现的怪现象:% ^. ^ {) F& Z. t5 |
/ _! U# O ~, p5 i( A5 P) W( y( H1 _我在用实际顶点代入验证的基础上证实如下现象,无法用理论解释,个人感到弗洛伊德算法象哥德巴赫猜想一样,无法证明的。
# O# C w' W' S7 y# s! I原来的弗洛伊德算法是:; P! q# v% f/ d N
For k:=1 to n
" M' |$ ~: Q; q |8 b$ W4 o; HFor i:=1 to n
. t7 P! U; H+ k( GFor j:=1 to n/ E0 l$ p; B3 R7 M
If D[i,j]>D[i,k]+D[k,j] Then D[i,j]:=D[i,k]+D[k,j];- a* U' k+ G# u5 ~( T1 x1 [; S
我改成下面的形式,结果具体值代入仍是正确的,当然无法证明:
. I6 `2 ]0 Q3 YFor j:=1 to n) i& Z2 B& G& M& l- i$ T# W
For i:=1 to n
. a4 [, T1 U6 S( Q) D. tFor k:=1 to n
# F+ @, R6 n$ L' _/ qIf D[i,j]>D[i,k]+D[k,j] Then D[i,j]:=D[i,k]+D[k,j];! c8 i2 x9 m# i( N& C; ^
我再改成如下形式,结果仍是正确的:7 D$ ~3 L) k4 l1 B# h/ y6 t' f) Y
For j:=1 to n$ h8 k9 r8 u" b. G* f$ |! p/ _0 \" e
For i:=1 to j-19 x& k& u8 w( V+ o% s
For k:=1 to n
0 B1 @* U5 b& Y, y7 _If D[i,j]>D[i,k]+D[k,j] Then D[i,j]:=D[i,k]+D[k,j];
. [- X- n% i2 @9 L$ J如果我改成如下形式,结果出错,不行了:* c- j" ]% r! n
For j:=1 to n9 k% M8 a# P3 G+ |" U1 t/ P% x9 ?
For i:=j+1 to n# y1 S# m& @/ _# ?" V8 e0 h# e
For k:=1 to n
2 U9 W3 @+ _0 o, T+ {# r% F! YIf D[i,j]>D[i,k]+D[k,j] Then D[i,j]:=D[i,k]+D[k,j];
$ b( z! }# \; l无法证明,只能用具体值来代入验证。
7 @/ E5 P& E: M/ q
4 {5 E# Z1 p4 ?/ ~1 _) M3 H* A* A7 k: N) u% f" w" @
|
zan
|