【JAVA基础】简析递归算法
2018-01-04 14:52
218 查看
概念:
【递归算法:】递归算法是把问题转化为规模缩小了的同类问题的子问题,然后递归调用函数(或者过程)来表示函数的解。
【递归函数:】一个过程(或者函数)直接或间接调用自己本身,这种过程(或者函数)叫做递归函数。
特点:
递归就是在过程或函数里调用自身。
在使用递归策略时,必须有一个明确的递归结束条件。称为递归出口。
实现简洁,但是效率比较低。
案例:
使用递归快速求和:
假设用个比较小的数字举例子我们现在求1到4相加的和,i传参4
i=4 qh(4)=4+qh(3) ;
i=3 qh(3)=3+qh(2) ;
i=2 qh(2)=2+qh(1) ;
i=1 qh(1)=1 ;
如此分别向上看,知道qh(1)的值之后,便可分别得到对应的值以及和。
【递归算法:】递归算法是把问题转化为规模缩小了的同类问题的子问题,然后递归调用函数(或者过程)来表示函数的解。
【递归函数:】一个过程(或者函数)直接或间接调用自己本身,这种过程(或者函数)叫做递归函数。
特点:
递归就是在过程或函数里调用自身。
在使用递归策略时,必须有一个明确的递归结束条件。称为递归出口。
实现简洁,但是效率比较低。
案例:
public static int qh(int i){ int sum ; if(i==1){ return 1; }else { sum=i+qh(i-1) ; return sum ; } }
使用递归快速求和:
假设用个比较小的数字举例子我们现在求1到4相加的和,i传参4
i=4 qh(4)=4+qh(3) ;
i=3 qh(3)=3+qh(2) ;
i=2 qh(2)=2+qh(1) ;
i=1 qh(1)=1 ;
如此分别向上看,知道qh(1)的值之后,便可分别得到对应的值以及和。
相关文章推荐
- Java基础--递归算法
- JAVA基础_简析Java中的new,this,super,final关键字
- Java Annotation 注解基础原理简析
- JDK框架简析--java.lang包中的基础类库、基础数据类型
- JAVA:基础递归算法大杂烩
- JDK框架简析--java.lang包中的基础类库、基础数据类型
- JAVA基础:JAVA几个常见错误简析
- Java基础--递归算法(递归结构)
- java基础学习(8)4种引用类型简析StrongReference、 SoftReference、 WeakReference 、PhantomReference
- Java基础_递归算法
- 【java基础 3】树形结构数据呈现的递归算法实现
- 【java基础 3】树形结构数据呈现的递归算法实现
- java基础学习总结五(递归算法、冒泡排序、查看生成API)
- 黑马程序员----java基础---API(三)
- 黑马程序员——JAVA基础——线程---概述,创建、生命周期,控制,同步,线程通信
- Java Android 注解(Annotation) 及几个常用开源项目注解原理简析
- Java核心技术卷I:基础知识(原书第8版):14.6 阻塞队列
- java基础入门之一
- (1):java基础知识笔记
- Java基础回顾之——多线程1