dijkstra算法思想
时间: 2023-09-13 13:07:20 浏览: 103
dijkstra算法
3星 · 编辑精心推荐
Dijkstra算法应用了贪心法的思想,即“抄近路走,肯定能找到最短路径”。该算法可以简单概括为:Dijkstra = BFS + 贪心。具体来说,Dijkstra算法利用BFS的思想,在每一次迭代中,从起点出发,以贪心的方式选择距离最短的节点作为当前节点,并更新其他节点的距离值。这样一步步地找到从起点到其他所有点的最短距离和最短路径。
在大多数最短路径问题中,Dijkstra算法是最常用、效率最高的算法。它是一种"单源"最短路径算法,即一次计算可以得到从一个起点到其他所有点的最短距离和最短路径的途径点。
Dijkstra的算法思想是通过维护一个优先队列,其中存储了从起点到当前点的距离。在每一次迭代中,选择距离最短的节点作为当前节点,并使用该节点进行松弛操作,即更新与当前节点相邻的其他节点的距离值。这样一直迭代下去,直到所有节点都被遍历完毕,得到最终的最短距离和最短路径。
需要注意的是,在实际编程中,一般不需要手动实现Dijkstra算法,可以直接使用STL的优先队列来完成数据的插入和提取操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [最短路算法——Dijkstra](https://blog.csdn.net/Hello_world_n/article/details/124345736)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文