9种基本算法_递归
来源:互联网 发布:unity3d棋牌游戏源码 编辑:程序博客网 时间:2024/05/16 08:00
递归思想:直接或间接的调用自身。算法简洁易懂,但是耗费资源,效率低。
递归特点:1、一般通过函数实现
2、在函数内部直接或间接调用本身
3、把问题转化为规模缩小的同类子问题,然后递归调用函数
4、必须有一个递归出口
实例:汉诺塔
有三个柱子a、b、c,第一个柱子上有64个盘子,从上往下越来越大,把第一个柱子上的盘子全部移到第三个柱子上。
第一步:把前63个盘子移到b上
第二步:把前62个盘子移到c上
第三步:把前61个盘子移到b上
第四步:把前60个盘子移到c上
.......
第63步:把第一个盘子移到b上
void move(int n , char a, char b , char c){ if(n == 1){ cout<<a<<"->"<< c<<endl; }else{ move(n-1,a,c,b); cout<<a<<"->"<< c<<endl; move(n-1,b,a,c); }}
实例:阶乘
计算n!
int fun(int n){if(n<=1)return 1;return n*fun(n-1);}
0 0
- 9种基本算法_递归
- 9种基本算法_枚举法
- 9种基本算法_递推
- 9种基本算法_分治
- 9种基本算法_贪心
- 9种基本算法_回溯
- C#_递归算法
- 递归_汉诺塔算法
- 基本算法思想---递归
- 基本算法:python递归算法
- 递归算法时间复杂度_递归树
- Java基础_递归算法
- 递归_算法题解2
- 25_递归算法详解
- 算法精解----递归(基本递归)
- 数据结构_递归算法_问题_栈溢出
- 数据结构学习之_汉诺塔递归算法
- 算法基础_递归的例子
- 一个程序员的书法学习之路-纸墨篇
- Hdu 1074 Doing Homework 状态压缩
- UnrealEngine4初始化流程
- fifo与pipe总结
- C++关于头文件容易混淆的问题
- 9种基本算法_递归
- 【无限互联】学员作品 豆果美食IOS客户端
- 45个实用的JavaScript技巧、窍门和最佳实践
- 我的网络编程之旅——P2P相关话题
- 45个实用的JavaScript技巧、窍门和最佳实践
- Swift教程_零基础学习Swift完整实例(一)_swift实例简介
- C语言——文件读写操作
- Java邮箱验证
- 溢出文字自动加省略号