我有一个学校的问题,我不确定用什么来编码。假设你有一个无向和无权重的图G,它是一个城市道路网络。节点n是交叉口,m条边是道路。在n个节点中,有h个医院。这个问题想让我们找出每个节点n,从每个节点到最近的医院的距离。是否可以使用BFS,或者djikstra会是更好的选择?
此外,我们还需要提出一种新的算法,找到距离每个节点最近的K个医院,其中K是用户输入。在这种情况下,bfs是否仍然可行,或者djikstra是唯一的解决方案?谢谢。
发布于 2020-10-20 01:45:17
Dijkstra和BFS之间的区别在于,对于Dijkstra,队列是排序的,因此较近的节点首先出现。
在你的例子中,每条边都有相等的长度,所以这个顺序是自动产生的。
因此,在这种情况下,算法是相等的。
Dijkstra广度优先搜索算法可以看作是
算法在未加权图上的一个特例,其中优先级队列退化为一个先进先出队列。
https://stackoverflow.com/questions/64431982
复制相似问题