初步递归

本文通过两个具体的Java示例介绍了递归的基本概念及其执行流程。递归是一种重要的编程技巧,涉及到函数自身调用的过程,必须设置停止条件以避免无限循环。文章通过逐步分析递归函数的调用过程,帮助读者理解递归的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在学习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)的递归过程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值