PyOhio 2018 递归教程
此页面包含供学习我的两小时教程、PyOhio 2018 递归入门指南或观看其视频录制的人们使用的材料。
您可以在 YouTube 上观看本教程的录制视频。
注意:我不认为我在本教程中做得特别好。 您可能想转而观看我的 North Bay Python 关于递归的演讲。
预教程设置
要学习本教程,您需要:
- 一台安装了 Python 的电脑。 要了解如何启动交互式 shell,您可以按照示例进行操作。 了解如何启动文本编辑器,以便您可以保存和运行 .py 文件。 初学者对 Python 的理解,包括变量、循环、定义函数、列表和字典。 就是这样,真的。
强烈建议您在按照本教程进行操作时键入代码。 这有助于建立编码的“肌肉记忆”,并且比简单地看教程更有效地学习。
讲义表格
(填写讲义表格)
幻灯片
目标
在本教程结束时,您将学习:
- 就实际代码而言,递归是什么。 递归是多么困难,而不是一门学得不好的递归。 什么是堆栈和调用堆栈,递归如何使用它们? 什么是堆栈溢出,基本案例如何防止它发生? 什么是递归和基本案例? 递归算法如何不能做迭代解决方案可以做的任何事情。 缓存/记忆化和尾调用消除如何防止递归算法中的常见问题。 递归优于迭代的问题类型有哪些。
代码示例
本教程并未介绍此 git 存储库中的所有程序,但您可以在此处找到代码示例:https://github.com/asweigart/recursion_examples
在教程之前没有必要查看此代码。
用于探索这些程序的可视化工具是 http://pythontutor.com/