递归与迭代算法详解

递归与迭代算法详解递归递归是一种常见的解决问题得方法,既把问题逐渐简单化。递归的基本思想就是“自己调用自己”,一个使用递归技术的方法将会直接或者间接的调用自己。利用递归可以用简单的程序来解决复杂的问题。如:斐波那契数列的运算,汉诺诺,快排等问题。递归结构包括两部分:定义递归头。作用:规定什么时候不在调用自身方法,如果没有头,将陷入死循环,也就是递归结束的条件。递归体。作用:什么时候需要调用自身…

大家好,欢迎来到IT知识分享网。递归与迭代算法详解"

递归

递归是一种常见的解决问题得方法,既把问题逐渐简单化。递归的基本思想就是“自己调用自己”,一个使用递归技术的方法将会直接或者间接的调用自己。
利用递归可以用简单的程序来解决复杂的问题。如:斐波那契数列的运算,汉诺诺,快排等问题。
递归结构包括两部分:

  1. 定义递归头。
    作用:规定什么时候不在调用自身方法,如果没有头,将陷入死循环,也就是递归结束的条件。

  2. 递归体。
    作用:什么时候需要调用自身方法。

例:
public class Recursion01 { 
   
public static void main(String[] args) { 
   
	A();
}
static int num=0;
static void A() { 
   
	System.out.println("递归");
	num++;
	if(num<10) { 
   //定义递归体
		A();
	}else { 
   //定义递归头
		return;
	}
}
}

递归的缺陷

简单是递归最大的优点之一,但是递归的调用会占用大量的系统堆栈,内存消耗多,在递归调用层次多时速度比循环慢的多,所以在使用递归时要慎重。

注意事项

任何能用递归解决的问题也能用迭代解决。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/14577.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信