摘要: 算法中需要使用搜索进行解决的内容很多,大致分为以下几类常用的搜索方式。 1、枚举。枚举运算量很大,需要预先确定枚举的定义域。2、广度优先搜索(BFS )——通常可以用于计算图的连通性、单源最短路径、计算最小操作次数等。3、深度优先搜索(DFS)——。经典题:火力中心布局。 BFS的占用的是队列的空间,DFS 占用的是栈的空间(因为递归)。BFS和DFS的空间复杂度恰好相反。对链状图,BFS最好(队列中最多只有1个元素),DFS最差(所有节点都在根节点的递归内)。对起点与其他所有点相邻的图,DFS最好(递归深度为1),BFS最差(队列中放满了所有与起点相邻的图)。 相对来说,BFS是比较简单的( 阅读全文
posted @ 2010-11-09 14:29 Hector 阅读(1077) 评论(0) 推荐(0) 编辑