我了解 BFS 和 DFS,但对于我的生活,我无法弄清楚迭代深化和 BFS 之间的区别。显然,迭代深化与 DFS 具有相同的内存使用量,但我无法看到这是怎么可能的,因为它只是像 BFS 一样不断扩展。
如果有人能澄清那将是很棒的。
如果需要,要处理的树:
A
/ \
B C
/ / \
D E F
最佳答案
据我所知,迭代深化是 DFS 下降到深度 1,然后 DFS 下降到深度 2 ... 下降到深度 n ,依此类推,直到找不到更多级别
例如我认为那棵树会被读取
read visited depth
A A 1
ABC ABAC 2
ABDCEF ABDBACECF 3
我相信它几乎可以为每个级别做一个单独的 DFS,并有深度限制并丢弃内存。
关于search - 广度优先搜索和迭代深化的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2994146/