首先我们先想想搜索。
dfs
核心思想递归!!!一种非常神奇的思想。
据说一切递归代码都可以写成非递归形式(然而并不会)
BFS
用队列来搜索,在没有搜索上限时使用,如果用dfs会过于深入导致无法回溯
IDFS
迭代加深,当每种情况都能拓展很多新的情况时使用。
每次枚举一个上限。然后以这个上限dfs。
复杂度只比dfs多个常数。
A*
估计当前情况到结束的最小步数。如果这个最小步数加上当前步数大于了上限就可以直接return。
通常都有一个步数上限
IDA*
没有步数上限时,通过迭代加深来枚举上限,然后进行A*
先留坑困死了明天再写