ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

6.初识迭代和递归

2022-03-31 08:05:32  阅读:172  来源: 互联网

标签:迭代 递归 重复 初识 计数器 循环 终止


提示:如果刚开始不能完全理解这个概念,不要着急,随着算法题的积累,慢慢就会明白,文字是抽象概括的,是建立在书写者自身的实践总结而来,所以于书写者而言,他对文字的理解是基于那些实例来理解,而对于读者而言,少数的实例并不一定能理解到文字真正想表达的含义。

 

一、迭代

顽猴爬台阶算法中,就采用了迭代的方式。

 

二、递归

单词接龙算法中,辅助函数中就用到了递归。

 

当然,最常见的递归例子是用递归方式求 n!。

查看代码

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        System.out.println(factorial(n));
    }
    
    private static int factorial(int n){
        if(n == 0 || n == 1){
            return 1;
        }else{
            return n * factorial(n - 1);
        }
    }
}

 

 

三、两者比较

摘录于递归和迭代有什么区别 - oo_o - 博客园 (cnblogs.com)

递归和迭代都是循环的一种。
递归是重复调用函数自身实现循环。迭代是函数内某段代码实现循环,
而迭代与普通循环的区别是:循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值。

递归循环中,遇到满足终止条件的情况时逐层返回来结束。
迭代则使用计数器结束循环。当然很多情况都是多种循环混合采用,这要根据具体需求。

 

递归与迭代都是基于控制结构:迭代用重复结构,而递归用选择结构。
递归与迭代都涉及重复:迭代显式使用重复结构,而递归通过重复函数调用实现重复。
递归与迭代都涉及终止测试:迭代在循环条件失败时终止,递归在遇到基本情况时终止。


使用计数器控制重复的迭代和递归都逐渐到达终止点:迭代一直修改计数器,直到计数器值使循环条件失败;递归不断产生最初问题的简化副本,直到达到基本情况。
迭代和递归过程都可以无限进行:如果循环条件测试永远不变成false,则迭代发生无限循环;如果递归永远无法回推到基本情况,则发生无穷递归。

递归函数是通过调用函数自身来完成任务,而且在每次调用自身时减少任务量。
而迭代是循环的一种形式,这种循环不是由用户输入而控制,每次迭代步骤都必须将剩余的任务减少;..

标签:迭代,递归,重复,初识,计数器,循环,终止
来源: https://www.cnblogs.com/Jukim/p/16080055.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有