最短路径迭代次数与边数相等_C语言:数据结构-图的最短路径

本文详细介绍了图的最短路径概念,包括无权图和带权图的最短路径。通过举例说明了求解最短路径的重要性,如在城市运输网中的应用。文章详细阐述了狄克斯特拉算法,描述了算法步骤,以及如何使用一维数组s、dist和path来存储和更新最短路径信息。通过具体的运算示例展示了算法的执行过程,最终得出从源点到所有顶点的最短路径和最短距离。
摘要由CSDN通过智能技术生成

最短路径的概念

由图的概念可知,在一个图中,若从一顶点到另一顶点存在着一条路径(这里只讨论无回路的简单路径),则称其路径长度等于该路径上所经过的边的数目,它也等于该路径上的顶点数减1。由于从一顶点到另一顶点可能存在着多条路径,每条路径上所经过的边数可能不同,即路径长度不同,我们把路径长度最短(即经过的边数最少)的那条路径叫做最短路径,其路径长度叫做最短路径长度最短距离

上面所述的图的最短路径问题只是对无权图而言的,若图是带权图,则把从一个顶点i到图中其余任一个顶点j的一条路径上所经过边的权值之和定义为该路径的带权路径长度,从vi到vj可能不止一条路径,我们把带权路径长度最短(即其值最小)的那条路径也称做最短路径,其权值也称做最短路径长度最短距离

例如,在图7-14中,从v0到v4共有三条路径:{0,4}、{0,1,3,4}和{0,1,2,4},其带权路径长度分别为30、23和38,可知最短路径为{0,1,3,4},最短距离为23。

8d6f0d69a48a2f5d8f7d39d61e213690.png

带权图和对应的邻接矩阵

实际上,这两类最短路径问题可合并为一类,这只要把无权图上的每条边标上数值为1的权就归属于有权图了,所以在以后的讨论中,若不特别指明,均认为是求带权图的最短路径问题。

求图的最短路径问题用途很广。例如,若用一个图表示城市之间的运输网,图的顶点代表城市,图上的边表示两端点对应城市之间存在着运输线,边上的权表示该运输线上的运输时间或单位重量的运费,考虑到两城市间的海拔高度不同,流水方向不同等因素,将

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值