第3章 算法与程序设计模块 3.1 算 法 算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。 常用的算法:列举了穷举搜索、递归、回溯、递推、模拟、分治、贪心、深度优先搜索、广度优先搜索等几种较为常用的算法,没有做过多的描述,一旦给出具体描述,容易使内容加深, ...
分类:
编程语言 时间:
2017-04-23 01:19:39
阅读次数:
410
关于深度优先搜索的总结; 1 dfs 的基本结构: void dfs(int x){ if( x 超出边界){ return ; }else{ for(遍历){ if(未访问过){ 访问 ; 打上标记 ; dfs(x + 1) ; 去掉标记 ; //极易忘记 } } } return; } 2 用d ...
分类:
其他好文 时间:
2017-04-10 00:15:55
阅读次数:
247
本题是深度优先搜索,咱开数组被D掉了,还是乖乖用struct乱搞。 之前的数组就是暴力,对了一半,但在一个地方wa了。 看了好久,代码变成一坨,就像这样: 然后我就果断的放弃。 新的是这样: 个人感觉,暴力还是挺不错的,可以用来刷水题 ...
分类:
其他好文 时间:
2017-04-09 22:08:23
阅读次数:
178
图类的构建 function Graph(v) {this.vertices = v;this.edges = 0;this.adj = []; for (var i = 0; i < this.vertices; ++i) { this.adj[i] = []; this.adj[i].push( ...
分类:
Web程序 时间:
2017-04-09 17:20:28
阅读次数:
213
遍历是很多图论算法的基础,所谓图的遍历( graph traversal),也称为搜索( search),就是从图中某个顶点出发,沿着一些边访遍图中所有的顶点,且使每个顶点仅被访问一次。 遍历可以采取两种方法进行: 深度优先搜索( DFS: depth first search); 广度优先搜索( ...
分类:
其他好文 时间:
2017-04-08 19:36:55
阅读次数:
212
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010 转自:http://www.cnblogs.com/zhourongqing/archive/2012/04/28/2475684.html 深度优先搜索,用到了奇偶剪枝,第一次听说。。仍然是咸鱼 ...
分类:
其他好文 时间:
2017-04-07 22:08:54
阅读次数:
272
约翰的农场被暴风雨给淹没了,损失很大,他的保险公司将支付给他,但是支付金额取决于被淹没的最大面积。这个农场是一个边长分别为n、m的矩形,包含nm个空间,每个空间要么是干的,要么是被淹没的,一共有k个空间被淹没。求最大的淹没面积。 题目分析:首先建立坐标,标记被淹没的空间,然后从左上角搜索被淹没的空间 ...
分类:
其他好文 时间:
2017-04-05 20:44:30
阅读次数:
291
1 枚举 2 模拟 3 构造 4 位运算的应用 5 查找 5.1 二分查找 5.2 分块查找 5.3 哈希查找HASH 5.3.1 线性探测法 5.3.2 字符串与哈希 6 搜索 6.1 深度优先搜索DFS 6.1.1 剪枝 6.1.2 人工栈DFS 6.2 宽度优先搜索BFS 6.3 启发式搜索 ...
分类:
其他好文 时间:
2017-04-03 16:27:44
阅读次数:
272
1.深度优先遍历基本思想: 从图中某顶点V0出发,访问此顶点,然后依次从V0的各个未被访问的邻接点 出发深度优先搜索遍历图,直至图中所有和V0有路径相通的顶点都被访问到; 若此时图中尚有顶点未被访问,则另选图中一个未曾被访问的顶点作起始点 ; 重复上述过程,直至图中所有顶点都被访问到为止。分析: 在 ...
分类:
其他好文 时间:
2017-03-23 13:57:57
阅读次数:
184
#include int a[10],book[10],n; void dfs(int step) { int i; if(step==n+1) { for(i=1;i<=n;i++) printf("%d",a[i]); printf("\n"); return; } for(i=1... ...
分类:
其他好文 时间:
2017-03-13 20:08:54
阅读次数:
170