YuCloud

紫菊气,飘庭户,晚烟笼细雨。

《谢新恩·冉冉秋光留不住》 - 五代 - 李煜

迭代加深搜索

迭代加深搜索是什么?

       

如图一般的dfs是按照红线的搜索方式,迭代加深搜索是搜到一定的深度就停止搜索如黑线所示,并不断的调整搜索深度

       
       

迭代加深搜索有什么用?

先看一道题UVA529

一般来说会用bfs来求最小值,但bfs所需空间比较大,但迭代加深可以通过调整深度来求出最小值且所需空间较小。有人可能会怀疑迭代加深的效率很低,因为重复搜索了前面的层,但其实一般情况状态数是随着搜索层数指数增加的,所以这点可以忽略。

迭代加深的搜索方式比较类似于人类的思考方式

       
       

代码实现

 while(!dfs(maxdep))
     maxdep++;
posted @ 2020-10-07 14:53  tree[3]  阅读(528)  评论(0编辑  收藏  举报