弗洛伊德算法(转)

https://blog.csdn.net/qq_34374664/article/details/52261672

https://blog.csdn.net/qq_35644234/article/details/60875818

这两篇结合起来看,便于理解

人物简介以及瞎bb

弗洛伊德,我还特意去百度了一下,结果搜出好多弗洛伊德。最后还是找到了我们这次的主角。

罗伯特·弗洛伊德,计算机科学家,图灵奖得主,前后断言法的创始人堆排序算法和Floyd-Warshall算法的创始人之一。这一段当然是摘自百度了。

可以说他是自学成才的,因为人家本来是搞文学的,就是因为对计算机的兴趣以及自己不懈的努力,终于称为计算机领域一位举足轻重的人物,这一点值得吾辈学习。

计算机是一门崇高的学科,它是一门伟大的科学,而我们就是这个领域的战士,所以,不要觉得这个东西很无聊,我们是在改变世界啊!不仅是为了工资,也让我们为了科学而不断的奋斗吧,人总要有一些崇高的理由,让生活有仪式感。

现在进入正题。

正题

它跟迪杰斯特拉算法不同的地方在于,它可以求出任意两点的最短距离。

说穿了,也就是遍历。首先你要拿出一个中介点,然后计算其余任意两点通过这个中介点的最短距离。

每个点都会被当作中介点。

首先,你要列出两个矩阵,从上面第二篇文章中的图来看。

首先,初始化两个矩阵,然后你看,如果两点的距离大于它们各自到这个中介点的距离之和,那么就把它替换为到中介点的距离之和。

同样修改P矩阵,把它们的中介点修改为当前中介点,初始中介点为边的终点。

通过一次次的遍历,总会得到两点的最短距离,这是我的初步理解

猜你喜欢

转载自www.cnblogs.com/lwhblog/p/10783148.html
今日推荐