通常当我不得不遍历图时,我总是使用深度优先搜索,因为它的空间复杂度较低。老实说,我从未见过需要广度优先搜索的情况,尽管我的经验非常有限。
什么时候使用广度优先搜索有意义?
更新:我想我的答案是here显示了我使用 BFS 的情况(因为我认为是 DFS)。不过,我仍然很想知道为什么它在这种情况下有用。
最佳答案
当您想通过遍历尽可能少的边到达节点时,即当您想在未加权的图中找到最短路径时。
深度优先搜索的空间复杂度也可能高于广度优先搜索的空间复杂度,例如每个节点只有一个子节点,即当图很深但不是很宽时。
关于algorithm - 广度优先搜索有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1657174/