迭代加深解决的是 这种最优结果不在当前路径时候的优化, 类似于宽搜, 定义一个 max_depth最大深度, 如果搜的过深就直接返回, 若搜完了还没找到答案, 就把最大深度扩展, 继续搜。

和宽搜的区别是: 宽搜时间复杂度为指数, 有一个队列, 把某一层的点全部搜完。 而迭代加深是先从起点搜深度为1的, 再从起点搜深度为2的, 一直到结果。

其时间复杂度还是 , 假设要搜的点在第10层, 搜索树为二叉树, 那么第10层共 个点, 搜到第10层之前所做的努力为 , 如果是多叉, 差距会更大, 前面搜搜索用的时间和最后一层搜到结果用的时间相比可以忽略不计。