迭代深入搜索(IDS),其实我更喜欢叫它迭代深度的深度优先搜索IDDFS,其实本质上就是深度优先搜索,IDS结合了DFS的空间优势与BFS的时间优势。对搜索的深度进行了限制,使得在搜索到限制深度后必须开始新的搜索路径。以至于看上去像是广搜(总是完成第n的所有节点搜索,再开始第n+1的节点的搜索)。放在这里的话,n指的就是当前的限制深度。
我们可以通俗一些讲的话,就是第一次执行深度优先搜索,限制深度为1,如果没有找到,再重新执行深度优先搜索,限制深度为2,以此类推,很多小朋友可能会问了,万一要查找的那个元素在这个金字塔底部,那上面的几层在找到这个元素之前要执行好多遍深度优先搜索呀,但是我们要知道通常情况下,绝大多数的节点都分布在底层,所以上层的节点生成多次影响并不是很大。