Skip to content

Commit e83aaf3

Browse files
committed
fix recursive
1 parent f8071da commit e83aaf3

File tree

3 files changed

+3
-1
lines changed

3 files changed

+3
-1
lines changed

docs/10_递归/print_rec.png

114 KB
Loading

docs/10_递归/recursion.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ def print_num_recursive_revserve(n):
7171
递归只用大脑不用纸笔模拟的话很容易晕,因为明明是同一个变量名字,但是在不同的调用栈里它是不同的值,所以我建议
7272
你最好手动画画这个过程。
7373

74+
![](./print_rec.png)
7475

7576
# 用栈模拟递归
7677
刚才说到了调用栈,我们就用栈来模拟一把。之前栈这一章我们讲了如何自己实现栈,不过这里为了不拷贝太多代码,我们直接用 collections.deque 就可以
@@ -105,6 +106,7 @@ def print_num_use_stack(n):
105106
```
106107
这里结果也是输出 1 到 10,只不过我们是手动模拟了入栈和出栈的过程,帮助你理解计算机是如何实现递归的,是不是挺简单!现在你能明白为什么上边 print_num_recursive print_num_recursive_revserve 两个函数输出的区别了吗?
107108

109+
108110
# 尾递归
109111
上边的代码示例(麻雀虽小五脏俱全)中实际上包含了两种形式的递归,一种是普通的递归,还有一种叫做尾递归:
110112

docs/20_面试指南/interview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
- 如果有多余的时间(一般不会有)注意一些边界条件,防御性编程、代码风格、单元测试等东西
2121

2222
# 结语
23-
这套教程列举的算法很有限,包括图算法、贪心,动态规划,机器学习算法等很多没有涉及到,因为它们确实需要读者更深入的理论基础,而且这套教程的目的也不是针对算法竞赛。
23+
这套教程列举的算法很有限,包括图算法、贪心,动态规划,分布式,机器学习算法等很多没有涉及到,因为它们确实需要读者更深入的理论基础,而且这套教程的目的也不是针对算法竞赛。
2424
不过了解了本教程涉及到的大部分算法是可以应付绝大多数的业务开发的。如果读者对算法有兴趣,本教程引用的几本参考书都可以去深入学习。希望本教程能对你学习算法、养成良好的思维方式和编码习惯等有所帮助。
2525

2626
# 延伸阅读

0 commit comments

Comments
 (0)