2018-1-23
广搜,也就是我们所说的BFS,等同于树一层一层的遍历过程,我们需要将该节点对应的所有子节点的状态都加以保存,所以从这个方面来说,它的开销还是比较大的,但是它特别适用于求解最短路径的问题,因为我们所能找到的第一个满足条件的就已经是最优解了(因为我们已经是按照树的层数进行遍历的了),而对于深搜而言,我们必须把这一棵树遍历结束之后,我们才能求解出我们所要的解,但是它的内存占用相对比较少。
除此之外,深搜主要用栈这种数据结构,而广搜主要是用队列这种数据结构。
深搜还分为递归与非递归这两种方法,其中递归比较适用于递归深度不那么深的情况下,否则的话就会发生栈溢出,但是我们也可以使用剪枝来满足我们的求解。这就对我们要求比较高了。。。