BFS与DFS图形空间复杂度

时间:2017-11-08 22:36:42

标签: algorithm sorting graph complexity-theory space

当广度优先搜索包含队列时,深度优先搜索和广度优先搜索需要多少内存才能在包含边和顶点的图形中使用?

1 个答案:

答案 0 :(得分:1)

递归DFS是最耗费内存的,因为它需要函数调用和当前处理的每个节点的堆栈帧。使用显式堆栈和队列数据结构,消耗的内存没有太大差异。通常,它取决于图形的形状以及当前堆栈或队列中的节点数。先前已处理或未访问的节点不会影响算法消耗的内存。然而在某些极端情况下(如星形图),您可能会读到整个图形。但是它又一次取决于图的结构。