此时distance[N]取值情况为:{distance[0]={5,1} , distance[1]={2,2}, distance[2]={0,-1}, distance[3]={9,0}} 。
(6)重复步骤2 , 再集合Y中找出距离起点2最近的节点 , 遍历distance[N]可知节点3距离最近 , 并将其纳入集合U中 。此时集合U={2,1,0,3} , 集合Y={} 。
(7)重复步骤3 , 以节点3为中间节点更新集合Y中节点到起点2的距离 , 此时发现集合Y为空 , 过程结束 。
最后我们获得了加入集合U的所有节点 , 因为没有节点都记录了自己的前驱节点 , 所以可以获得从起点到任意目的节点见的最短路径 。
实现代码:

文章插图
求给定终点的最短路径:

文章插图
推荐阅读
- 条件简陋 怎么泡出好喝的茶
- Linux多进程和多线程的一次gdb调试实例
- 分享一个winserver自动清理Oracle过期归档日志脚本
- 一分钟带你了解交换机和路由器的区别
- 负载均衡获得真实源IP的6种方法
- 对联贴在门里面还是外面 对联是贴在门上还是门的两边
- 在微信小程序中怎么获得群聊的openGid和名称
- 柚子头尖的好还是圆的好 柚子平头和尖头哪个好吃
- Spring 是如何解决循环依赖的
- 如何对网站进行有效的SEO操作?
