浏览 190 次
|
该帖已经被评为新手帖
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-12-15 关键字: 递归
在学习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)的递归过程 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |


