- 在线时间
- 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
- 自我介绍
- 软件开发工程师
 |
关于弗洛伊德算法发现的怪现象:" h' _" j) A& @' Q
3 b5 `! F" b1 y9 `0 O; U, h/ D我在用实际顶点代入验证的基础上证实如下现象,无法用理论解释,个人感到弗洛伊德算法象哥德巴赫猜想一样,无法证明的。
" @! y$ G7 I) O& K6 e4 W原来的弗洛伊德算法是:
- F, V4 r' [. l# ^7 n; sFor k:=1 to n
! A/ _- S' p5 w- _For i:=1 to n+ N0 Q( R% d& @ l( K" n- J
For j:=1 to n
0 _$ i* a) ?, i8 w( a& M. _7 fIf D[i,j]>D[i,k]+D[k,j] Then D[i,j]:=D[i,k]+D[k,j];/ A" F! X. z/ f7 p4 Q) y
我改成下面的形式,结果具体值代入仍是正确的,当然无法证明:" U9 `" }* @/ W6 b5 t
For j:=1 to n
4 ~! J+ R1 p- }$ ZFor i:=1 to n$ p" B5 t" o" `9 O7 Z
For k:=1 to n
9 V3 Q) e) u6 S8 G9 QIf D[i,j]>D[i,k]+D[k,j] Then D[i,j]:=D[i,k]+D[k,j];& @: p9 i+ W' u! Y) d; q1 m
我再改成如下形式,结果仍是正确的:
W4 [+ j1 ]* s2 F7 ZFor j:=1 to n0 d( o4 u4 ?- e
For i:=1 to j-16 f2 q6 Z4 U* G3 A9 q5 W N6 v% b
For k:=1 to n9 R- U2 y; s# i. q" u! l" e
If D[i,j]>D[i,k]+D[k,j] Then D[i,j]:=D[i,k]+D[k,j];/ E/ l* o1 M. r0 O4 y! }
如果我改成如下形式,结果出错,不行了:
: M5 k+ H# _- Q7 vFor j:=1 to n
0 B$ n. s7 \$ y* S* L! L; rFor i:=j+1 to n3 N- b8 e1 a# S$ P1 u
For k:=1 to n
5 ^, d$ O7 @ z& DIf D[i,j]>D[i,k]+D[k,j] Then D[i,j]:=D[i,k]+D[k,j];
& _) _! w& p7 u8 t' z2 j: z: |无法证明,只能用具体值来代入验证。 h! _3 h1 J% x# W' m
2 ~( T* {! \1 d: p' R3 r B
( P: X" X/ r% f8 f+ \) x |
zan
|