查看更多
当前 - 选择题 - 最短路径
简单
单选题
2019年5月第31题
#第二版教材
#必须掌握

下表记录了六个结点A、B、C、D、E、F之间的路径方向和距离。从A到F的最短距离是(【38】)。

问题(1)
浓缩知识点

迪杰斯特拉算法是用于求解非负权图中单源最短路径的经典算法,核心逻辑为从指定起始节点出发,通过迭代方式,每次选取当前距起始节点最近的未访问节点作为中间点,以此更新起始节点到其余未访问节点的最短路径值,直至所有节点均被遍历处理完毕。该算法广泛应用于交通路线规划、网络数据包路由等实际场景。需要注意的是,此算法仅适用于边权值为非负数的图,若图中存在负权边,需改用贝尔曼-福特等适配负权的最短路径算法;而若需求解多源节点间的最短路径,则可选择弗洛伊德算法。

正确答案
A

本题实际上是求最短路径的问题
迪杰斯克拉迭代法最为方便,就是逐个求出A到该点的最短距离。
我们从A开始,起始时A到每个节点的最短距离是:

  • A → A: 0
  • A → B: 11
  • A → C: 16
  • A → D: 24
  • A → E: 36
  • A → F: 54
    A → B的直接路径是11,所以A到B的最短路径是11。
    从A到C有两种路径:
  1. 直接从A到C,距离是 16
  2. 从A到B,再从B到C,路径是 A → B → C = 11 + 13 = 24
    所以 A → C的最短路径是16,直接从A到C。

不断迭代,到最后可以知道 A → F的最短路径是38。
这个过程正是通过比较所有可能的路径,逐步迭代更新最短路径,最终找出最优解。

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有