数据结构与算法(六)
来源:互联网 发布:共享景观设计 知乎 编辑:程序博客网 时间:2024/05/16 12:18
递归的应用
1. 什么是递归
递归是一种方法调用自己的编程技术。
例:
public class Recusion {public static void main(String[] args){//test();test2(100);}//例一public static void test(){System.out.println("Hello World!");test();}//例二public static void test2(int n){if(n==0){return;}System.out.println(n);test2(n-1);}}
2. 三角数字
该数列中的第n项是由第n-1项加n得到的。
三角数字
public class Triangle {//方法一:循环public static int getNumber(int n){int total=0;while(n>0){total=total+n;n--;}return total;}//方法二:递归public static int getNumberByRecursion(int n){if(n==1){return 1;}else{return n+getNumberByRecursion(n-1);}}}
测试:
public class TestTriangle {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println(Triangle.getNumber(400));System.out.println(Triangle.getNumberByRecursion(400));}}
3. Fibonacci数列
该数列的第1项为0,第二项为1,第n项由第n-1项加上第n-2项得到。
Fibonacci数列
public class Fibonacci {public static int getNumber(int n){if(n==1){return 0;}else if(n==2){return 1;}else{return getNumber(n-1)+getNumber(n-2);}}}
测试:
public class TestFibonacci {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println(Fibonacci.getNumber(20));}}
0 0
- 数据结构与算法(六)
- 数据结构与算法javascript描述(六)集合
- 数据结构与算法(六):技术面试题
- 别样数据结构与算法学习(六)查找
- 学习JavaScript数据结构与算法(六)——字典
- 数据结构与算法之六堆排序
- 算法与数据结构之六----链栈
- <六>java数据结构与算法 栈
- Java数据结构与算法分析《六》递归
- 数据结构与算法·实验六
- 【数据结构与算法】排序算法之六:快速排序
- (数据结构与算法分析 六)------散列表的实现( Java语言描述)
- PTA 数据结构与算法题目集(中文)5-7 六度空间 (30分)
- 用Python 学习数据结构与算法 六、最大子序列
- 数据结构与算法之AVL平衡树<六>
- 直通BAT--数据结构与算法六(二分搜索)
- 算法与数据结构 其六 Avl平衡树
- Java数据结构与算法解析(六)——AVL树
- 第2章 人月神话
- FastDFS5.0.9基本安装配置
- nginx学习
- proteus第一个工程 流水灯实验
- java-finally块和return执行先后顺序
- 数据结构与算法(六)
- mysql 中的mysql数据库不见了
- crc32
- LeetCode109 Convert Sorted List to Binary Search Tree
- MySQL编程基础
- Android 用PopupWindow实现加载等待界面
- Application loader:ERROR ITMS-90168: "The binary you uploaded was invalid."
- LeetCode110 Balanced Binary Tree
- 内联(Inline)什么时候使用