深度优先搜索的优点是空间开销相对较小,通过递归或栈的方式进行深度探索,能遍历整个图或树,对于一些优化问题和组合问题,如全排列的生成等,较为适用。但其缺点也较为明显,由于是深度优先,可能无法找到最短路径,比如在寻找两点间最短路径时可能不如宽度优先搜索有效。而且递归实现深度优先搜索时,如果递归深度过大,可能...
1、深度优先算法占内存少但速度较慢,广度优先算法占内存多但速度较快,在距离和深度成正比的情况下能较快地求出最优解。2、深度优先与广度优先的控制结构和产生系统很相似,唯一的区别在于对扩展节点选取上。由于其保留了所有的前继节点,所以在产生后继节点时可以去掉一部分重复的节点,从而提高了搜索...
也就是说,宽度优先搜索的优势在于当问题有解时,一定能找到解,当问题为单位耗散值,且当问题有解时,一定能找到最优解。 在进行宽度优先搜索时需要创建一个队列以保存所有的待扩展节点,而不是像深度优先搜索那样只需要保存当前状态即可,这样就使BFS比DFS需要占用更多的空间,常常是指数级增长的,但由于BFS是按层次遍历...