淘宝网男士项链:递归算法:它主要用途!

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 19:31:47
或者说什么时候需要用递归这种算法。

当某一问题可以表现为范围缩小的同性质问题的叠加,且利用范围缩小的问题的结果比较容易推导出最后解答的情况时,可以使用递归算法。这样一个问题的解答将依赖与一个同性质问题的解答,而解答这个同性质的问题实际上就是用不同的参数(体现范围缩小)来调用递归方法自身。
所有的递归算法都可以用条件-循环改写成非递归的形式,所以没有什么场合是一定要使用递归的。
递归的基本思想就是“自己调用自己”,一个使用递归技术的方法即是直接或间接的调用自身的方法。递归可以用简单的程序来解决某些复杂的计算问题,但是递归调用会占用大量的系统堆栈,内存耗用多,计算量大,在递归调用层次较多时使用要慎重。
例:
求阶乘
long Factorial(int n){
.....if(n==1) {
.................return 1; //递归头
................}
.....return n*Factorial(n-1); //递归调用自身
......................}