循环递归的区别?

循环:

重复执行一段代码,递归,遍历,迭代都属于循环。

代码举例:

1  for(int x = 10; x < 20; x = x+1) {
2          System.out.print("value of x : " + x );
3          System.out.print("\n");
4       }

递归:

重复调用自身的,如下例子不断调用自身方法。

代码举例:

1    private static int fab(int index) {
2         if (index == 1 || index == 2) {
3             return 1;
4         } else {
5             return fab(index - 1) + fab(index - 2);
6         }
7     }
时间: 2024-10-25 13:54:30

循环递归的区别?的相关文章

Java三种循环结构的区别

第一种:for循环 循环结构for语句的格式: for(初始化表达式;条件表达式;循环后的操作表达式) { 循环体; } eg: 1 class Dome_For2{ 2 public static void main(String[] args) { 3 //System.out.println("Hello World!"); 4 //求1-10的偶数的和 5 int sum = 0; 6 for (int i = 1;i<=10 ; i++ ) { 7 if (i%2 ==

Java语言----三种循环语句的区别

------- android培训.java培训.期待与您交流! ---------- 第一种:for循环 循环结构for语句的格式: for(初始化表达式;条件表达式;循环后的操作表达式) { 循环体; } eg: 1 class Dome_For2{ 2 public static void main(String[] args) { 3 //System.out.println("Hello World!"); 4 //求1-10的偶数的和 5 int sum = 0; 6 fo

N皇后问题--回溯法 (循环递归)

N皇后问题 问题描述:N皇后问题是一个经典的问题,在一个N*N的棋盘上放置N个皇后,每行一个并使其不能互相攻击(同一行.同一列.同一斜线上的皇后都会自动攻击) 思路 (回溯法,循环递归):0. 初始化棋盘(全部为0)1. 依次将第一列棋子置为12. 放完棋子执行横向,纵向,斜向的update,把不能放棋子的位置置为23. 从第二列棋子开始,递归执行4. 执行到最后一列,退出递归5. 执行第一列的第二个棋子 实现: var N = 4; Array.prototype.count = functi

迭代,循环,遍历,递归的区别

循环(loop),指的是在满足条件的情况下,重复执行同一段代码.比如,while语句. [ 循环则技能对应集合,列表,数组等,也能对执行代码进行操作.] 迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项.比如,for语句. [迭代只能对应集合,列表,数组等.不能对执行代码进行迭代.] 遍历(traversal),指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次. [遍历同迭代一样,也不能对执行代码进行遍历.] 递归(recursion),指的是一个函数不断调

递归和非递归的区别

递归好处:代码更简洁清晰,可读性更好  递归可读性好这一点,对于初学者可能会反对.实际上递归的代码更清晰,但是从学习的角度要理解递归真正发生的什么,是如何调用的,调用层次和路线,调用堆栈中保存了什么,可能是不容易.但是不可否认递归的代码更简洁.一般来说,一个人可能很容易的写出前中后序的二叉树遍历的递归算法,要写出相应的非递归算法就比较考验水平了,恐怕至少一半的人搞不定.所以说递归代码更简洁明了.     递归坏处:由于递归需要系统堆栈,所以空间消耗要比非递归代码要大很多.而且,如果递归深度太大,

java语言基础与go语言基础,循环语句的区别

java语言  循环语句 for(表达式1(参数初始化):表达式2(条件判断):表达式3(更新循环变量)){ 语句循环操作: } 首先;参数的初始化,接下来条件判断,(条件成立),再执行循环操作,然后更新循环变量,又来做条件判断(条件成立),又执行循环操作:以此循环. 一,循环的三要素 1,循环变量 2,循环条件 3,循环体 二,do-while循环(先循环,再判断,至少循环一次) do{ 语句: }while(条件); 三,while循环(先判断,再循环,有可能一次也不循环) while(条件

另一种循环——递归

递归---也是循环的一种---让一个方法自己调用自己,就形成递归 以下是一段10进制转2进制的函数: public static void tenToTwo(int num){ int mod = num % 2; int result = num / 2; if(result > 0){ tenToTwo(result); } System.out.print(mod); } 以上函数反复调用自己,并反复传入实参result(商),反复进行 除 和 模 的运算,直到 result > 0 ,

循环递归+返回值(TreeView示例)

示例:获取TreeView的所有Node,保存到List<TreeNode>,封装到通用工具类: 方法一:使用static方法.属性---调用前清空static类型的List 1 public static List<TreeNode> allNodes = null; 2 public static void GetTreeViewAllNodes(TreeNodeCollection Nodes) 3 { 4 foreach (TreeNode node in Nodes) 5

PHP和Java中foreach循环的用法区别

1.foreach语句介绍: ①PHP: foreach 语法结构提供了遍历数组的简单方式.foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息. ②Java: foreach语句是java5的新特征之一,在遍历数组.集合方面,foreach为开发人员提供了极大的方便.foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本.foreach并不是一个