算法研究:最短路径之弗洛伊德算法

为了能讲明白弗洛伊德(Floyd)算法的主要思想,我们先来看最简单的案例。图7-7-12的左图是一个简单的3个顶点的连 通网图。

我们先定义两个二维数组D[3][3]和P[3][3], D代表顶点与顶点的最短路径权值和的矩阵。P代表对应顶点的最短 路径的前驱矩阵。在未分析任何顶点之前,我们将D命名为D(-1),其实它就是初始图的邻接矩阵。将P命名为P(-1), 初始化 为图中的矩阵。

首先我们来分析,所有的顶点经过v0后到达另一顶点的最短路径。因为只有3个顶点,因此需要查看 v1->v0->v2,得到

D(-1)[1][0] + D(-1)[0][2] = 3。D(-1)[1][2]表示的是v1->v2的权值为5,我们发现 D(-1)[1][2] > D(-1)[1][0] + D(-1)[0][2] ,通俗话来说就是

v1->v0->v2 比v1->v2距离还要近。所 以我们就让 D(-1)[1][2] = D(-1)[1][0] + D(-1)[0][2] = 3, 同样地D(-1)[2][1] = 3, 于是就有了D(0)矩阵。因为有变 化,所以P矩阵对应的P(-1)[1][2]和P(-1)[2][1]也修改为当前中转的顶点v0的下标0, 于是就有了P(0)。也就是说

接下来,也就是在D(0)和P(0)的基础上继续处理所有顶点经过v1和v2后到达另一顶点的最短路径,得到D(1)和P(1)、D (2)和P(2)完成所有顶点到所有顶点的最短路径计算工作。

首先我们针对图7-7-13的左网图准备两个矩阵D(-1)和P (-1),D(-1)就是网图的邻接矩阵,P(-1)初设为P[i][j]=j 这样的矩阵。主要用来存储路径。

时间: 2024-10-02 09:22:31

算法研究:最短路径之弗洛伊德算法的相关文章

《IS-IS网络设计解决方案》一第6章 最短路径优先算法6.1 SPF算法概述

第6章 最短路径优先算法 IS-IS网络设计解决方案 路由选择协议的本质是收集网络环境中的路由选择信息,并选择到所有已知目的的最优路径.如第2章中提到的,在IS-IS协议的体系结构中,这些功能是由两个进程实现的:更新进程与决策进程.更新进程主要负责建立IS-IS数据库并维护其稳定性:决策进程使用最短路径优先(Shortest Path First,SPF)算法基于链路状态数据库中的信息计算到所有已知目的的最优路径.SPF算法通过计算区域内一个特定的节点到其他所有节点的最短路径树从而得出从这个特定

hdu1869六度分离【图、弗洛伊德算法】

六度分离 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3410 Accepted Submission(s): 1326 Problem Description 1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为"小世界现象(small world phenomenon)"的著名假说,大意是说,任何2个素不相识的人中

【双11背后的技术】基于深度强化学习与自适应在线学习的搜索和推荐算法研究

选自<不一样的技术创新--阿里巴巴2016双11背后的技术>,全书目录:https://yq.aliyun.com/articles/68637 本文作者:灵培.霹雳.哲予 1. 搜索算法研究与实践 1.1 背景 淘宝的搜索引擎涉及对上亿商品的毫秒级处理响应,而淘宝的用户不仅数量巨大,其行为特点以及对商品的偏好也具有丰富性和多样性.因此,要让搜索引擎对不同特点的用户作出针对性的排序,并以此带动搜索引导的成交提升,是一个极具挑战性的问题.传统的Learning to Rank(LTR)方法主要是

《中国人工智能学会通讯》——12.43 分类型数据聚类算法研究进展

12.43 分类型数据聚类算法研究进展 在大数据环境下,许多数据是缺乏先验信息的,对数据标注的成本也越来越高,一个最自然的方法是对数据进行适当划分之后再进行相关的数据处理,而聚类分析是数据划分的一种重要技术手段[1] .在许多实际应用中,分类型变量是一种非常重要的数据表现形式[2] .比如,在问卷调查中,客户的兴趣爱好.家庭住址.教育情况都是分类型变量:在电子邮件过滤中,将邮件分为垃圾邮件和合法邮件:在医学中,一个病人受伤的程度可分为轻微的.中度的和严重的:在市场营销中,经常将客户分为高.中.低

【算法导论】单源最短路径之Bellman-Ford算法

        单源最短路径指的是从一个顶点到其它顶点的具有最小权值的路径.我们之前提到的广度优先搜索算法就是一种无权图上执行的最短路径算法,即在所有的边都具有单位权值的图的一种算法.单源最短路径算法可以解决图中任意顶点间的最短路径.         对于单源最短路径问题,一般有两种经典解法:1.对于有权值为负的图,采用Bellman-Ford算法:2.对于权值全为正的图,常采用Dijkstra算法.本文介绍Bellman-Ford算法,下一篇介绍Dijkstra算法. Bellman-Ford

如何防止量子计算暴力解密?中国启动新型算法研究

随着量子计算的不断突破,其计算机能力的大幅跃升将为网络安全带来新挑战--许多加密算法将会变得相当脆弱.未来,如何应对量子计算对数据的"暴力解密"?当前移动互联网.云计算.大数据.物联网快速融合发展,对密码算法能力提出的新挑战如何应对? 日前,为应对量子计算攻击威胁,移动互联网.云计算等领域数据可信融合安全挑战,国家"网络空间安全"重点专项中唯一的密码算法项目"新型数据保护密码算法研究"项目在成都启动. 由中国电子科技集团公司第三十研究所牵头的该项

云下载系统的理论模型与存储资源分配算法研究

云下载系统的理论模型与存储资源分配算法研究 北京交通大学 徐嬴颖 主要工作和创新点如下:(1)针对预约式服务交互过程,本文建立了系统交互模型,从理论上刻画了采用预约式服务的云下载系统运行机制,并提出了系统响应策略(何时通知用户.何时开始获取文件).首先,分析单个用户下载过程,建立了交互模型量化交互过程中的各时间元素及其关系,并由模型理论分析,推导出用户时间开销和系统存储时间开销.其次,建立了最小化这两个时间开销的多目标优化问题,并分别求解得到最优化用户体验和最小化系统存储开销的系统响应策略.最后

空间数据库中基于MapReduce的kNN算法研究

空间数据库中基于MapReduce的kNN算法研究 大连海事大学  刘彪 本文首次尝试设计了一种云环境下的倒排网格索引和在该索引基础上进行的基于MapReduce的空间kNN查询.本文所做的主要工作如下:(1)针对二维空间中的数据点,本文设计了一种分布式的倒排网格索引方法,该索引方法完全符合空间数据索引的标准一动态性和简单性.由于倒排网格索引具有松耦合和无共享的特殊结构,所以该索引比较适合基于MapReduce的大规模空问数据的并行查询.(2)本文提出了一种基于MapReduce的空间倒排网格索

基于云计算的受限玻尔兹曼机推荐算法研究

基于云计算的受限玻尔兹曼机推荐算法研究 郑志蕴  李步源  李伦  李钝 数据的指数级增长及算法本身的复杂性使受限玻尔兹曼机面临着计算效率的问题.在详细分析受限玻尔兹曼机的基础上,将受限玻尔兹曼机与Hadoop平台的并行计算架构相结合,提出基于云平台的受限玻尔兹曼机推荐算法.该算法通过复制机制解决数据相关性问题,并将传统的受限玻尔兹曼机过程分解为若干个Hadoop任务的循环,实现并行计算.实验结果表明,与在传统平台上的实现相比,基于Hadoop并行架构的受限玻尔兹曼机推荐算法在大体量数据集的条件