【发布时间】:2020-04-23 02:57:23
【问题描述】:
我很难理解我们实现 Dijkstra 的逻辑流程到底是什么,更准确地说,我遇到的问题是我们如何实际获取该优先级队列,我们是否构建它(优先级Queue ) 当我们在图上执行算法时?还是我看错了?然后就是这样吗?我们是停在那里还是进一步处理这个输出,将获得的信息以其他形式放在优先级队列中,或者这就是我们停止的地方?
我也理解为选定节点生成相应最短路径的过程,通过递归地遵循我们首先形成最短路径的边,但它实际上是如何实现的?
一般来说,我在学习期间实际上能够想出和/或理解算法的合适实现时遇到了很多问题,我对算法的理解很好(在某些情况下,我能够想出一个接近的替代 ) 但我就是想不出聪明的方法来实现它们,有什么建议吗?
【问题讨论】:
-
嘿,我想这些是许多学习 Dijkstra 的人面临的问题。我建议你先看很多关于优先队列的视频,然后再看很多关于 Dijkstra 最短路径算法的视频。然后,您将能够指出您不了解的内容。回来把你的帖子集中在一个你无法理解的问题上。当前的帖子听起来像是请解释一下优先级队列及其在 Dijkstra 最短路径算法中的用法。