挑战程序设计竞赛
zhaoyaqian95
这个作者很懒,什么都没留下…
展开
-
2.1 穷竭搜索(递归,栈,队列)
2.1.1 递归函数计算斐波那契数列 a(n)=a(n-1)+a(n-2)(n>1),其中a0=0,a1=1int fib(int n){ if(n <= 1) return n; return fib(n-1) + fib(n-2);}递归实现方便程序的编写,但占用大量空间,存在重复计算。 如果计算后,用数列储存结构,可优化空间。int memo[maxn];int fib原创 2016-07-01 16:35:30 · 193 阅读 · 0 评论 -
2.1 穷竭搜索(DFS)
2.1.4 深度优先搜索从某个状态开始,不断转移状态直到无法转移,然后退回到前一步的状态,继续转移到其他状态,不断重复,直到找到最终的解。 根据深度优先搜索的特点,采用递归函数实现比较简单。例1 部分和问题每个数有两种状态,加或者不加,在n个数全部决定后再判断是否等于k,状态数一共为2^(n+1),则复杂度为O(2^n)。int a[22];int n, k;boo原创 2016-07-01 19:27:45 · 260 阅读 · 0 评论