学习完迪杰斯特拉算法的记录

  Dijkstra算法是求单源最短路径的一个算法,即可以求某个节点到其他所有节点的最短路径,注意图里不能含有负权图。
1.假定为求节点A到其他节点的最短路径,设一个数组D[N]为节点A到其他节点路径的最小值。
2.初始化D[N],把A到A的距离设为0,A到其他顶点的距离设为无穷大。标记A为已访问
3.遍历A能直接连到的节点,把权重设为为D[N]的数值,没能直接连到的节点还是无穷大。
4.找到一个D[N]的最小值,即是距离A最近的节点,并返回当前节点,标记已访问。
5.把4找到的节点当成新的A,重复3~4。
如此结束,D[N]就能表示A到所有节点的最短路径分别是多少了,视频讲解:
https://www.xuetangx.com/courses/course-v1:SCUT+145055+sp/courseware/c692c9c557f541f390bd9c6a25099736/ab1ffd086c3048e0b11f73198bdad60b/

这个作为练习:
图片说明

答案是C

全部评论

相关推荐

无一技之长怎么办:别去右边,售前,实施,需求分析一起,这是把人当牛马用啊,快跑,这些岗位天花板很低的
点赞 评论 收藏
分享
03-19 10:07
已编辑
广东药科大学 Java
Yki_:你倒是进一个面啊
点赞 评论 收藏
分享
有没有友友知道这样是开启下一个志愿还是在池子里等人捞
早饭有梨:为什么有的是回到人才池,有的是变成筛选中,我二面挂直接变回筛选中了
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务