首先是大方向上面的对比: 两者都能用于图的遍历搜索,很多时候两者都能得到最终的结果。多说时候要最快的得到第一个解,可能dfs要快一些。 代码上面的对比: dfs利用递归实现,bfs多用循环实现,差别不大 但是在于一点就是,dfs用完这个点之后要还回去,而bfs不用,因为它是慢慢扩散的。 最后也是最重
分类:
其他好文 时间:
2016-03-17 01:53:15
阅读次数:
179
首先是dfs,又名深度优先搜索。看名字就知道,它的核心思想就是一直搜索,先在一条路上面一路撸到底,如果到底没有办法前进了,那么判断是否到达终点,如果没有到达,那么就回溯到之前的点再撸。 dfs的要点: 1、考虑当下应该怎么做,在你现在的点上面你应该怎么做,可以怎么做。可以向上吗?可以向下吗? 2、后
分类:
其他好文 时间:
2016-03-16 07:08:41
阅读次数:
267
题目链接:http://poj.org/problem?id=1164 1、深搜,每个点都访问一次,没有标记的话,就做深搜,同时标记。 #include <iostream> #include <algorithm> #include <cstring> using namespace std; i
分类:
其他好文 时间:
2016-03-02 23:30:39
阅读次数:
193
N*M的园子,雨后积起了水.八连通的积水背认为是连接在一起的.请求出园子里总共有多少水洼? dfs(Depth-First Search) 八个方向的简单搜索.... 深度优先搜索从最开始的状态出发,遍历所有可以到达的状态.由此可以对所有的状态进行操作,或者列举出所有的状态. 1 int N,M;
分类:
其他好文 时间:
2016-02-27 16:14:32
阅读次数:
130
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 12105 Accepted Submission(s):
分类:
其他好文 时间:
2016-02-01 15:00:40
阅读次数:
135
在为期一个星期的ACM集训之后,我就这样做了一个逃兵hhhh在这一个星期里面,学长讲了快速排序,二分三分搜索,矩阵快速幂,线段树,BFS(广度优先搜索)和DFS(深度优先搜索),邻接表和哈希表,结构体和优先队列,背包问题和动态规划。其中讲快速排序那天我还在考试,就没有去听,第二天找学长的时候也听得似...
分类:
其他好文 时间:
2016-01-24 12:54:17
阅读次数:
218
样例输入:3样例输出:123132213231312321 1 #include 2 int n; 3 4 void dfs(int step,int* a,int* book) 5 { 6 int i; 7 if(step == n) 8 { 9 for...
分类:
其他好文 时间:
2015-12-22 21:19:00
阅读次数:
260
题目使用一个长度为N的数组,1<=N<=50,存储一棵完全二叉树。(二叉树中每个节点最多有两个子树称为左子树和右子树。完全二叉树是除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺少右边的若干节点。在数组中,如果以下标1为起始位置,那么每个节点的左儿子是其自己下标乘以2的节点,右儿子是自己...
分类:
其他好文 时间:
2015-12-15 21:13:49
阅读次数:
192
1 import java.util.Scanner; 2 import java.util.ArrayList; 3 public class Quanpailie{ 4 5 public int a[] ; 6 public int book[] ; 7 pu...
分类:
编程语言 时间:
2015-12-15 09:00:22
阅读次数:
190