Dijkstra算法用于解决最短路径问题
发布时间
阅读量:
阅读量
最短路径问题是一种常见的图论问题,其基本设定是在一个无向连通图中,已知各节点之间的连接关系以及边的权重,目标是找出从某一特定节点到其他所有节点的最短路径。本篇文章由blackcardriver根据经典的Dijkstra算法原理编写,旨在提供一种解决最短路径问题的实现模板、思路及分析。文章内容主要用于个人复习与知识分享,若存在疏漏或错误之处,恳请读者指出并予以纠正。为备战六级考试,所有注释均采用英文形式,敬请谅解。欢迎各位读者留言交流。
所需的数据结构包括:
- certain_mun ---------//用于统计已确定最短路径的节点数量。
- certain[]-----------------//certain[i]用于标识节点i是否已完成最短路径计算。
- distant[]-----------------//distant[i]表示从起点到节点i当前已知的最短距离。
- edge{node1,node2,val}-----------//用于描述一条无向边的信息。
整体流程如下:
- 初始化相关数据结构,例如对 distant[i] 和 certain[i] 进行初始设置。
- 在尚未确定最短路径的所有节点中选择一个当前距离最小的节点,并将其对应的最短路径确认下来。随后更新 **cert
全部评论 (0)
还没有任何评论哟~
