我第一次开发A*算法,我使用优先级队列作为开放集,直到我意识到你需要检查节点是否也在开放集中,而不仅仅是关闭集中。
问题是,你无法遍历优先级队列。那么为什么每个人都建议使用优先级队列作为开放集?它是否仍然是最佳选项?我认为唯一能够遍历它的方法是制作副本,这样我就可以从其中弹出全部元素(代价巨大)。
在A*算法中,最好使用哪种数据结构?
问题是,你无法遍历优先级队列。那么为什么每个人都建议使用优先级队列作为开放集?它是否仍然是最佳选项?我认为唯一能够遍历它的方法是制作副本,这样我就可以从其中弹出全部元素(代价巨大)。
在A*算法中,最好使用哪种数据结构?