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

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

发布时间: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算法采用动态规划的原理计算两两顶点间最短路径,主要解决网络路由寻找最优路径的问题。

阅读全文

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

热点内容
php读取二维数组 浏览:348
php编译安装参数 浏览:278
其实压力没那么大程序员图片 浏览:416
如何查看app内访问的网页地址 浏览:757
安卓手机信号旁边的汉字怎么设置 浏览:304
nrf2401单片机 浏览:713
清除电脑文件夹垃圾的方法 浏览:226
天河程序员 浏览:192
成都程序员公积金 浏览:768
程序员为什么叫程序猿 浏览:484
加西贝拉压缩机价格 浏览:788
海信聚好看如何用u盘安装app 浏览:71
加密狗怎么写的 浏览:560
安卓手机如何能调最大声音 浏览:668
编程开发工具大全 浏览:572
如何把安卓系统换成windows 浏览:31
android拼接url 浏览:25
华为nfc复制加密卡怎么模拟 浏览:775
在pdf中怎么插入文件 浏览:115
单片机中fw缩写是什么 浏览:378