今天,在队长的带领下学习了弗洛伊德算法。
一、弗洛伊德(Floyd)算法的概念
Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似
二、弗洛伊德(Floyd)算法与迪杰斯特拉算法区别
1.迪杰斯特拉算法通过选定的被访问顶点,求出从出发访问顶点到其他顶点的最短路径; 弗洛伊德算法中每一个顶点都是出发访问点,所以需要将每一个顶点看做被访问顶点,求出从每一个顶点到其他顶点的最短路径。
2.Floyd算法,则修正了dijkstra算法对于边权为负问题的不足,引入了一个外循环,来遍历每个点,从而查询该点是不是在i和j之间,这样的话,无论边权为负值还是正值,都会被考虑进去。对于邻接矩阵A来说,在k-1次迭代后,A(k-1)[i][j]为所有从顶点i到j且不经过k之后的顶点的最小长度,有可能经过k之前的点。所以在遍历过程中需要比较A[i][j]与A[i][k]+A[k][j]的大小,取小值,表示比较经过k点与不经过k点的路径长度大小。
三、弗洛伊德(Floyd)算法的基本思想
设置顶点vi到顶点vk的最短路径已知为Lik,顶点vk到vj的最短路径已知为Lkj,顶点vi到vj的路径为Lij 则vi到vj的最短路径为:min((Lik+Lkj),Lij(直连)),vk的取值为图中所有顶点,可获得vi到vj的最短路径。
四、弗洛伊德(Floyd)算法的步骤
1 .使用二维数组dis储存路径,同时最终状态代表点的最短路径。如果没有直接相连的两点那么默认为一个很大的值(不要溢出)!
2 .从第1个到第n个点依次加入图中。每个点加入进行试探是否有路径长度被更改。
3. 而上述试探具体方法为遍历图中每一个点(i,j双重循环),判断每一个点对距离是否因为加入的点而发生最小距离变化。如果发生改变,那么两点(i,j)距离就更改。
4 .重复上述直到最后插点试探完成。最终dis数组中存放的就是任意两个结点之间的最短距离。
学习应当"披坚执锐,所向披靡",拥有一往直前的精神。
http://www.dxsbao.com/shijian/472197.html
点此复制本页地址
在和煦阳光下,曲阜师范大学教师博物馆迎来了一支特别的队伍——“七秩师大路情系曲园人”实践队。1月11日,这群怀揣着对母校深厚情感的学子,踏上了探索曲阜师范大学校内教师博物馆的旅……
卢奕 曲阜师范大学“七秩师大路 情系曲园人”校友会实践团查看全文 >>
在曲阜师范大学即将迎来建校70周年之际,为了探寻校友们的奋斗足迹,传承曲园精神,曲阜师范大学校友会“七秩师大路,情系曲园人”实践队踏上了前往上海的征程,于1月13日与曲阜师范大学上……
马晶晶 曲阜师范大学“七秩师大路 情系曲园人”校友会实践团查看全文 >>
在曲阜师范大学建校70周年的喜庆时刻,“七秩师大路,情系曲园人”校友会实践团带着对校友的关切与对校史传承的使命,踏上了前往上海的征程,于2025年1月11日上午,拜访了曲阜师范大学上海……
王晶 曲阜师范大学“七秩师大路 情系曲园人”校友会实践团查看全文 >>
寒假期间,曲阜师范大学“七秩师大路,情系曲园人”校友会实践团开展了一场别开生面的社会实践活动。团队成员走进孔子博物馆,通过实地参观、交流研讨、宣传推广等形式,深入探寻儒家文……
张恒瑜 曲阜师范大学“七秩师大路 情系曲园人”校友会实践团查看全文 >>
为探寻中华文化的深厚底蕴,弘扬曲阜师范大学以儒家文化为核心的校园精神,2025年1月11日,曲阜师范大学“七秩师大路,情系曲园人”校友会实践团赴济宁市曲阜市孔子博物馆,开展了一场以“……
张恒瑜 曲阜师范大学“七秩师大路 情系曲园人”校友会实践团查看全文 >>
为庆祝曲阜师范大学建校70周年,深化校友与母校的情感纽带,促进校友与母校之间的紧密联系,2025年1月10日,曲阜师范大学“七秩师大路,情系曲园人”校友会实践团在校友之家开展了一项颇具……
王晶 曲阜师范大学“七秩师大路 情系曲园人”校友会实践团查看全文 >>
1月12日,曲阜师范大学“七秩师大路情系曲园人”校友会实践团走进孔子博物馆,开启了一场跨越时空的文化朝圣之旅。实践团成员们怀着对儒家文化的敬仰,追寻中国古代儒家文化的根源,品鉴……
韩明辰 曲阜师范大学“七秩师大路 情系曲园人”校友会实践团查看全文 >>
在被称为孔子故里的曲阜,曲阜师范大学(简称“曲师大”)的“七轶师大路,情系曲园人”实践队于2024年1月10日,走进了孔子博物馆,踏入这片承载着千年儒家智慧的圣地,开启了一场跨越时空……
封云志 曲阜师范大学“七秩师大路 情系曲园人”校友会实践团查看全文 >>