
算法学习笔记
路过雨天
试试
展开
-
深搜的学习
/**给定整数a0、a1、.......an,判断是否可以从中选出若干数,使它们的和恰好为K。输入:n=4 k=11 a={1,2,4,7}输出:Yes(11=4+7)刚学深搜虽然会简单的应用,却不是十分了解函数的执行过程,今天决定好好分析一下:首先调用dfs函数后从0进入函数,然后判断i是否等于n若等于则返回true或false若不等于就开始执行dfs(i+1,sum),一原创 2015-08-07 10:08:45 · 413 阅读 · 0 评论 -
广搜的学习
#include#include#include#includeusing namespace std;int N, K;const int MAXN = 100000;int visited[MAXN + 10];struct Step{ int x; int steps; Step(int xx, int s):x(xx),steps(s){}原创 2015-08-06 09:13:44 · 494 阅读 · 0 评论 -
关于广搜的学习
/**在学习图论的过程中感觉求最短路算是比较简单的题了,直接广搜就可以了但是很多时候不会这么简单,BFS算法求出来的最优解一般是步数最少的解,但是步数最少有时并不是最优解,比如图具有权值的时候,要求权值最小,或要求权值最大,亦或者下面这个有路障的题,简单的求出步数最小并不是最优解。******************************************************原创 2015-08-03 20:35:12 · 450 阅读 · 0 评论 -
递归实现集合全排列
/**递归对于我真的很那理解,好好的心情都被破坏了大化小,小化没,这就是递归假设求 1,2,3,4,5的全排列就是求1,2,3,4,52,1,3,4,53,2,1,4,54,2,3,1,55,2,3,4,1后四个数的全排列然后在进行划分直到求得是最后两个数的全排列虽然我很菜,但我也在慢慢的理解递归,感觉递归很重要,深搜基本都是递归实现的so,我要好好研究递归原创 2015-08-09 21:52:00 · 1967 阅读 · 1 评论 -
递归的学习(全排列)
/** |--abc(k = 1,i = 1) |- -abc(k = 0,i = 0)---| | |--acb(k = 1,i = 2) | | |--bac(k = 1,i = 1)abc--原创 2015-08-08 11:38:28 · 387 阅读 · 0 评论