导航:首页 > 源码编译 > 图上两点之间最短距离算法

图上两点之间最短距离算法

发布时间:2024-01-19 04:05:33

A. 弗洛伊德算法求出最短距离

(1)利用二维数组dist[i][j]记录当前vi到vj的最短路径长度,数组dist的初值等于图的带权邻接矩阵;


(3)依次向S中加入v0,v1…vn-1,每加入一个顶点,对dist[i][j]进行一次修正:设S={v0,v1…vk-1},加入vk,则dist(k)[i][j]=min{dist(k-1)[i][j],dist(k-1)[i][k]+dist(k-1)[k][j]}。

dist(k)[i][j]的含义:允许中间顶点的序号最大为k时从vi到vj的最短路径长度。
dist(n-1)[i][j]就是vi到vj的最短路径长度。

弗洛伊德最短距离算法(FloydShortestPathAlgorithm)又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。
中文名弗洛伊德最短距离算法
外文名FloydShortestPathAlgorithm
所属学科IT
所属领域程序设计
简介
最短路问题是网络最优化中一个基本而又非常重要的问题,这一问题相对比较简单,在实际生产和生活中经常遇到,许多的网络最优化问题可以化为最短路问题,或者用最短路算法作为其子程序.因此,最短路的用途已远远超出其表面意义迄今为止,所有最短路算法都只对不含负回路的网络有效,实际上对含有负回路的网络,其最短路问题是NP困难的,因此本研究所讨论的网络也不含负回路.此外,如果将无向图每条边用两条端点相同、方向相反的弧来代替,可以将其化为有向图,因而不讨论无向图.本研究中未述及的术语、记号。
Floyd算法是一种用于寻找给定加权图中顶点间最短路径的算法,以1978年图灵奖获得者斯坦福大学计算机科学系教授RobertW.Floyd命名。Floyd算法采用动态规划的原理计算两两顶点间最短路径,主要解决网络路由寻找最优路径的问题。

阅读全文

与图上两点之间最短距离算法相关的资料

热点内容
py文件夹后缀 浏览:716
你对我们的app有什么建议 浏览:577
phpgetcookie 浏览:138
程序员最烦遇到的单词 浏览:122
开始服务器升级需要什么 浏览:978
gcc中的编译选项 浏览:186
程序员长沙开滴滴 浏览:136
十几加几的进位加法算法 浏览:383
c语言实现字母加密成字母 浏览:328
linux重启java服务 浏览:53
ubuntu的命令行在哪里 浏览:981
服务器tk是什么意思 浏览:397
防止软件加密码卸载 浏览:182
自建服务器与云服务器 浏览:542
已解压车能过户能买吗 浏览:775
上网行为linux 浏览:353
解压对身体的好处 浏览:72
php服务端框架 浏览:455
gitlabpdf 浏览:612
大专程序员面试公司 浏览:950