迪杰斯特拉算法和广度优先的区别
时间: 2023-11-05 07:20:05 浏览: 117
C++实现Dijkstra(迪杰斯特拉)算法
5星 · 资源好评率100%
迪杰斯特拉算法和广度优先搜索算法在寻找最短路径方面有一些区别。
首先,广度优先搜索算法是一种盲目搜索算法,从根节点开始按层遍历,只有完全遍历完一层所有的节点后才会进入下一层的遍历。它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。广度优先搜索算法在搜索过程中,由于使用队列的数据结构,可以很好地保证找到的路径是最短的。
而迪杰斯特拉算法是一种最短路径路由算法,通过计算一个节点到其他所有节点的最短路径。它以起始点为中心向外层层扩展,直到扩展到终点为止。每次找到离源点最近的一个顶点,然后以该顶点为中心进行扩展,最终得到源点到其余所有点的最短路径。迪杰斯特拉算法使用了贪心思想,通过松弛操作不断更新节点之间的距离,直到找到最短路径。
所以,广度优先搜索算法是一种盲目搜索算法,主要用于图的遍历;而迪杰斯特拉算法是一种最短路径算法,用于计算一个节点到其他所有节点的最短路径。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [C++实现Dijkstra(迪杰斯特拉)算法](https://download.csdn.net/download/weixin_38528680/13714417)[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: 33.333333333333336%"]
- *2* [机器人路径规划之迪杰斯特拉算法(二)](https://blog.csdn.net/su_fei_ma_su/article/details/117535802)[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: 33.333333333333336%"]
- *3* [广度优先算法、Dijkstra算法、A*算法、ARA*算法、AD*算法简单比较](https://blog.csdn.net/qq_42091428/article/details/105643916)[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: 33.333333333333336%"]
[ .reference_list ]
阅读全文