![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
递归
弥徒
这个作者很懒,什么都没留下…
展开
-
2.1-递归-求阶乘
思路:一个函数调用自身,即为递归。(栈)求阶乘的时间复杂度O(n)#include<iostream>int Factorial(int n);using namespace std;int main(){ int n,fac; cin >> n; fac = Factorial(n); cout << n<&l...原创 2019-09-01 16:54:24 · 225 阅读 · 0 评论 -
2.2-递归-汉诺塔
分析:移n个盘子 -> 先移n-1个盘子,再移第n个盘子。 将n-1个由A->B; 1个由A->C; 再将n-1个由B->C;边界 1个盘子->1次if里的return: 使程序跳出if所在的函数,返回到母函数中继续执行。#include<iost...原创 2019-09-01 17:28:34 · 93 阅读 · 0 评论 -
2.3-递归+回溯-N皇后问题
分析:任意两个皇后都不能处于同一行、同一列或同一斜线上。在第n行已放好的条件下,尝试第n+1行,如果第n+1行均不满足,尝试n行的下一个可能位置。回溯:在搜索的过程中尝试找到问题的解,如果发现找不到了,就退一步,往上回溯(剪枝过程)。对于许多复杂问题和大规模问题都可以使用回溯法。按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一...原创 2019-09-04 14:22:02 · 155 阅读 · 0 评论 -
3.1-递归-四则运算表达式求值
#include<iostream>#include<string>#include<cstdlib>using namespace std;int factor_value();int term_value();int expression_value();int main(){ cout << expression_v...原创 2019-09-13 13:05:58 · 161 阅读 · 1 评论 -
3.2-递归-爬楼梯
#include<iostream>int stairs(int n);using namespace std;int main(){ int N; cin >> N; int num; num = stairs(N); cout << N << " = " << num << " ways."; ...原创 2019-09-13 13:14:02 · 157 阅读 · 0 评论 -
3.3-递归-放苹果
f(0,0)=0;f(1,0)=0;//没有盘子f(0,1)=1;//有盘子,没苹果f(1,1)=f(1,0)+f(0,1)=1;#include<iostream>using namespace std;int I, K;//I:苹果数,K:盘子数int set(int I, int K){ if (I < K) return set...原创 2019-09-13 16:56:38 · 133 阅读 · 0 评论 -
3.4-递归-算24
原创 2019-09-13 17:19:14 · 146 阅读 · 0 评论