标签: algorithm data-structures breadth-first-search
我可以使用堆栈而不是队列 运行广度优先搜索。它仍然计算最短路径吗?
答案 0 :(得分:0)
一切皆有可能。
是的,你肯定可以使用 stacks 而不是队列作为广度优先搜索的辅助数据结构。
那就是说,我说的是使用2个堆栈实现队列。有关简短说明,请参阅this答案。
对于每个enqueue和dequeue操作,您可能必须执行一些额外的推送和弹出,这可能会导致简单BFS的复杂代码。
如果您只能使用 1个堆栈,那么您也可以尝试进行深度优先搜索。