首先你要知道什么叫搜索树,也就是根据本次搜索扩展出下个搜索节点的树形图. 那么广度(宽度)优先搜索就是一层一层的遍历搜索树, 而深度优先是先一搜到底再回溯. 可以理解为:广搜是按步列举出每一次所有的可能情况. 而深搜是"先按一种可能搜下去,如果不行了(即不符合条件)就返回上一次的地方再试探下一种可能性. 一般来说,广搜常用于找单一的最短路线,或者是规模小的路径搜索,它的特点是"搜到就是最优解", 而深搜用于找多个解或者是"步数已知(比如3步就必须达到条件)"的问题,它的空间效率高,但是找到的不一定是最优解,必须记录并完成整个搜索,故一般情况下,深搜需要非常高效的剪枝(优化). 具体的建议看看
http://jsjkx.bzu.edu.cn/jpkc/ds/resource/flash/dfs.swf 和
http://jsjkx.bzu.edu.cn/jpkc/ds/resource/flash/bfs.swf 的动画,有助于帮助理解