`
xiaoZ5919
  • 浏览: 404889 次
  • 性别: Icon_minigender_1
  • 来自: 安平人@北京
博客专栏
Group-logo
Netty学习笔记
浏览量:73203
社区版块
存档分类
最新评论

初步递归

阅读更多
在学习java之前,看过别的语言描述的递归。对递归也有大致的认识,遇到一些简单的显而易见的递归问题也能解决,但对递归的实现过程还是不了解。昨天痛下决心要把数据结构再深刻的学习一下,还是从递归学起。说白了递归就是自己调用,当然得有一个停止的条件,否则会无限制的调用下去。

拿两个例子对递归做初步认识吧


public static void f(int n){
 
   System.out.println(n);
   if( n > 1){
    f( n - 1);
   }
}

public static void ff(int n){
 
   if( n > 1){
    ff( n - 1);
   }
   System.out.println(n);
}

f(3),ff(3)它们会打印出什么结果呢

分析这个过程 首先是f(3)执行打印3

然后 f(3)调用f(2)

打印2

这时n= 2仍然大于1调用f(1)

打印1

同时调用完毕 结束 得到以上的结果

这是一个显而易见比较好分析的递归过程

待续分析ff(3)的递归过程
分享到:
评论

相关推荐

    编译原理课设:属性计算-递归下降语法分析器

    参考例6.2构造一个翻译模式,并由此构造一个递归下降翻译器,把每个标识符的类型存入符号表。 功能拓展: 对于输入的一串执行语句,其中包括:赋值语句、选择语句和循环语句。设计递归下降翻译器,完成语法分析和...

    编译原理——语法分析器(递归下降分析法 )

    3.设计出模块结构、测试数据,初步编制好程序。 (二)上课上机: 将源代码拷贝到机上调试,发现错误,再修改完善。第二次上机调试通过。 (三)程序要求: 程序输入/输出示例: 对下列文法,用递归下降分析法对...

    递归实现十进制数从高位到低位依次输出

    递归实现十进制数从高位到低位依次输出 主要是我对递归算法的初步理解后试手制作希望对你有用

    HDU 递归题详解大全(含代码)

    以上是针对给定题目标题和描述的初步分析,每道题目都需要具体分析其背景和要求,以确定最佳的递归解决方案。学习和实践这些递归题目,不仅可以提高编程技能,还能加深对递归算法的理解,对于提升解决实际问题的能力...

    递归回溯法求解整数线性规划及MATLAB实现.pdf

    本文主要讨论了一种使用递归回溯法解决整数线性规划问题的方法,并提供了...尽管这种方法可能在复杂问题上不如分支定界法全面,但对于理解和学习整数线性规划的求解过程,以及进行初步的求解尝试,是一种有效的途径。

    C语言递归函数教学的设计与探讨.pdf

    然后,通过讲解一些简单的例子来帮助学生建立初步的感性认识。接着,通过解决一些经典问题,如阶乘计算、斐波那契数列求值和汉诺塔问题,来加深学生的理解。此外,教师还需要强调递归函数的两个关键要素:一是问题...

    递归下降分析程序 很好的实验要求

    - 设计出模块结构、测试数据,并初步编写程序代码。 2. **上机调试**: - 将编写好的程序拷贝到计算机上进行调试。 - 分析并修正错误,不断完善程序。 3. **实验报告撰写**: - 记录实验过程中遇到的问题...

    算法设计与分析实验一分治与递归

    - 初步了解分治策略的基本思想。 #### 实验内容 1. **标准二分搜索算法** - 二分搜索是一种高效的查找算法,适用于有序数组。 - 工作原理:每次都将查找区间分为两半,根据比较结果确定下一步搜索的方向。 - ...

    利用C++实现二叉树的建立 首先通过建立节点类、然后通过递归算法建立整个二叉树,有增加、删除、查找等算法,有利于初步学习二叉树

    首先通过建立节点类,然后通过递归算法来建立整个二叉树。在这个过程中,我们可以学习到如何增加节点、删除节点以及查找节点等算法。这些算法对于初学者来说非常有益,能够帮助我们初步理解二叉树的概念和操作。此外...

    递归下降分析法收集.pdf

    2. 设计解决方案,包括模块结构和测试数据,初步编写程序。 3. 上机调试,遇到错误时分析并修复,教师参与讨论以优化方案和代码。 4. 改进文法,使其更加复杂和全面,如文法E→E+T|E-T|T,T→T*F|T/F|F,F→F^P|P,P...

    DO-WHILE循环语句的翻译程序设计(递归下降法、输出四元式)

    中间代码是源程序经过初步编译后的结果,它通常更接近于机器语言,但仍然保持了一定程度的抽象性。四元式是一种常用的中间代码形式,由操作符、两个操作数和结果组成。对于DO-WHILE循环,四元式的生成主要涉及循环的...

    基于联合卷积和递归神经网络的交通标志识别.pdf

    原始图像通过这一级CNN,可以初步提取图像的基本特征。接着,得到的特征图进一步被输入到二级网络,即同时通过卷积层和递归神经网络。卷积层继续细化特征提取,递归神经网络则有助于学习和理解图像的组合特征,尤其...

    编译原理用递归下降法进行表达式分析实验报告.doc

    在这个实验中,已经给出了词法分析程序(mylexer.l),其生成的lex.yy.c文件包含了对输入表达式的初步处理。词法分析程序通过正则表达式识别数字(INTEGER和DOUBLE),并将它们转换为适当的数值类型(如整数和浮点数...

    Makefile初步

    1、了解Makefile的基本概念和基本结构 2、初步掌握编写简单Makefile的方法 3、了解递归Make的编译过程 4、初步掌握利用GNU Make编译应用程序的方法

    初步算法课件

    **算法初步课件详解** 算法是计算机科学的基础,它是一系列解决问题或执行任务的精确步骤。在本“初步算法课件”中,我们将深入探讨算法的基本概念、设计思想以及常见算法类型,帮助初学者建立起坚实的算法基础。 ...

    递归神经网络:使用FORCE学习实施通用递归神经网络课程

    递归神经网络 使用由Tensorflow实现的Adam优化器训练的通用递归神经网络类...我们已经对与杨(Yang)等人在论文“训练为执行许多认知任务的神经网络中的任务表示”中使用的任务相似的任务进行了初步分析。 等(2019)。

    必修3算法初步、统计和概率温习题[优质文档].doc

    4. **递归**:理解递归的概念,知道如何设计和分析递归算法,以及如何处理递归终止条件。 5. **复杂度分析**:初步了解时间复杂度和空间复杂度的概念,能估算算法运行时间和所需存储空间。 【统计和概率】 统计学...

    北京市高考数学总复习 考点专项汇总 专题六 算法初步 理(扫描版) 试题.doc

    算法初步是高中数学中的一个重要部分,特别是在准备高考的过程中,考生需要对这一专题有深入的理解和熟练的运用。本文将详细解析“算法初步”这一考点,帮助考生全面掌握相关知识点。 一、算法的基本概念 1. 算法...

Global site tag (gtag.js) - Google Analytics