最基础的“穷竭搜索”
定义:穷竭搜索是将所有的可能性罗列出来,在其中寻找答案的方法。主要介绍深度优先搜索和广度优先搜索。
深度优先搜索(DFS)是搜索的手段之一。它从某个状态开始,不断地转移状态直到无法转移,然后回退到前一步的状态,继续转移到其他状态,如此不断重复,直至找到最终的解。
广度优先搜索(BFS)也是搜索的手段之一。它与深度优先搜索类似,从某个状态出发探索所有可以到达的状态。不同之处在于搜索的顺序,广度优先搜索总是先搜索距离初始状态近的状态。
总结:广度优先搜索与深度优先搜索一样,都会生成所有能够遍历到的状态,因此需要对所有状态进行处理时,使用广度优先搜索也是可以的。但是递归函数可以很简短的编写,而且状态的管理也更简单,所以在大多数情况下还是用深度优先搜索实现。反之,在求取最短路时深度优先搜索需要反复经过同样的状态,所以此时还是使用广度优先搜索为好。