刷leetcode发现很多题目涉及递归
Introduction to Java Programming, Comprehensive Version 10th
chapter 18 Recursion
例题 java代码实现 github
经典递归算法情景:
1.遍历某一路径下所有文件,计算大小
2.Hanoi
Recursion bears substantial overhead. Each time the program calls a method, the system must allocate memory for all of the method’s local variables and parameters. This can consume considerable memory and requires extra time to manage memory. Any problem that can be solved recursively can be solved nonrecursively with iterations. Recursion has some negative aspects: it uses up too much time and too much memory.
tail recursion: