1
A
回答
3
如果树是不是平衡,答案就在于更接近根部比最深的叶子,那么答案将被深度限制小于树的最大深度发现的,而深度优先搜索可能在找到正确的答案之前,必须搜索树的一半达到最大深度。由于树中节点的数量可能随着深度呈指数增长,所以这可能是一个很好的选择 - 最大深度为10时,大致搜索1024/2 = 512个节点的成本比多次搜索总共1 + 2 + 4 + ... 256 = 511节点,所以比这更极端的是纯粹的利润 - 并且该示例完全搜索深度达到并包括深度8的深度。
(在某些情况下,有可能在任意大深度错误的答案)。
相关问题
- 1. 深度优先迭代深化搜索与深度优先搜索
- 2. 深度优先搜索确定深度
- 3. Java - 深度优先搜索
- 4. 深度优先搜索
- 5. java深度优先搜索
- 6. 深度优先搜索(C++)
- 7. OCAML深度优先搜索
- 8. JavaScript深度优先搜索
- 9. 最差情况时间深度优先搜索的复杂度
- 10. 广度优先搜索和深度优先搜索
- 11. 深度优先搜索和广度优先搜索了解
- 12. 迭代加深vs深度优先搜索
- 13. 深度或广度优先搜索?
- 14. 深度优先搜索代码片段
- 15. 实现迭代深入深度优先搜索
- 16. 优先深度优先搜索广度优先搜索或反之亦然
- 17. 何时使用深度优先搜索
- 18. 实现A * - 搜索作为广度优先搜索/深度优先搜索
- 19. java中的深度优先搜索
- 20. 在Python中的深度优先搜索
- 21. Java中的深度优先搜索
- 22. 图的深度优先搜索
- 23. 广度优先与深度优先搜索的输入/输出
- 24. 深度优先搜索在C
- 25. 深度优先搜索指令
- 26. 深度优先搜索堆栈使用
- 27. 蟒蛇深度优先搜索递归
- 28. 深度优先搜索 - Java类实现
- 29. 堆栈溢出深度优先搜索
- 30. 深度优先搜索基础知识
好像你所描述的深度限制的搜索,而不是反复深化搜索。 http://en.wikipedia.org/wiki/Iterative_deepening_depth-first_search – vincentleest
通过“多重搜索”我的意思是很多深度限制搜索从而弥补了单一的迭代深化搜索。在你给出的链接的末尾,你可以在文章中看到非常类似的总结,我也看到了迭代深化的优点。 – mcdowella