=========================================
最短路径中的Floyd算法(弗洛伊德算法)的较为严格的冥想证明过程:
作者:李均宇(李恒星) 2015.10.31
仍用数学归纳法,
假设N<=n时,弗法正确。具体值我就不验证了。
当N=n+1时,假设最新一点最后一点为K,此时K=n+1,
三重循环中,我们都把K排在循环中的最后一位。
现在我们要证明的是,加上新点K点后,经过弗法的三重循环,原来的n点之间仍是最短距离,但是n点与K点之间的短离是不是最短的就不知的。
如果原来的n点的某两点之间最短距是与K点无关的,显然经过三重循环后,就是最短距了。
如果原来的n点的某两点之间最短距是经过K点的,假设P1,P2,P3,,,Pk-1,Pk,Pk+1,,,Pm本应是实边最短距,不是虚边最短距。
那么由弗法知,P1,P2,P3,,,Pk-1与PK+1,,,,Pm已是连通的最短路了。且Pk-1Pk与PKPK+1是原始实边,不是虚边。
经过最外层最后一次循环的松驰操作,必能连通P1,P2,P3,,,Pk-1,Pk,Pk+1,,,Pm。
所以得证:加上新点K点后,经过弗法的三重循环,原来的n