Dijkstra算法 迪杰斯特拉算法 单源最短路径

写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞收藏呦。感激不尽!如有错误也请留言指正。

考研数据结构练习,欢迎订阅我的专辑《考研数据结构题型分类讲解练习》


【东南大学2000四(10分)】试利用Dijkstra算法求下图中从顶点a到其他各顶点间的最短路径,写出执行算法过程中各步的状态。

Round1

 在第一轮中,填入b、c、d、e、f、g与a之间的距离,然后选出最短距离,并在下方标注路径

Round1Round2Round3Round4Round5Round6
b15

c2
a-c
d12

e

f

g

集合Sc

Round2

由于我们在第一轮选择出来了距离a点最近的c点,所以在填第二轮的时候,其余的点如果通过c点可以使得距离变得更短,那么更新该点的值,并更新路径。以d点为例,在round1中,距离为∞,可是通过c点距离就变为了10,我们更新d点距离,并且更新路径。

Round1Round2Round3Round4Round5Round6
b1515

c2
a-c
d1212

e10
a-c-e
f6
a-c-f
g

集合Sccf

Round3-Round6

填写第三轮时,就通过第二轮选出来的f点,同样是距离变短后就更新

其余的每一轮都是通过上一轮选出来的点,距离变短就更新

Round1Round2Round3Round4Round5Round6
b151515151515
a-b
c2
a-c
d121211
a-c-f-d
11
a-c-f-d
e10
a-c-e
10
a-c-e
f6
a-c-f
g16
a-c-f-g
16
a-c-f-g
13
a-c-f-d-g
集合Sccfcfecfedcfedgcfedgb

 至此,a点到其它点的最短路径及距离(每一行中红色的)全部求解完毕。

写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞收藏呦。感激不尽!如有错误也请留言指正。

考研数据结构练习,欢迎订阅我的专辑《考研数据结构题型分类讲解练习》

  • 12
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eva_5433

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值