PyOhio 2018 递归教程

此页面包含供学习我的两小时教程、PyOhio 2018 递归入门指南或观看其视频录制的人们使用的材料。

您可以在 YouTube 上观看本教程的录制视频。

注意:我不认为我在本教程中做得特别好。 您可能想转而观看我的 North Bay Python 关于递归的演讲。

预教程设置

要学习本教程,您需要:

    一台安装了 Python 的电脑。 要了解如何启动交互式 shell,您可以按照示例进行操作。 了解如何启动文本编辑器,以便您可以保存和运行 .py 文件。 初学者对 Python 的理解,包括变量、循环、定义函数、列表和字典。 就是这样,真的。

强烈建议您在按照本教程进行操作时键入代码。 这有助于建立编码的“肌肉记忆”,并且比简单地看教程更有效地学习。

讲义表格

(填写讲义表格)

幻灯片

目标

在本教程结束时,您将学习:

    就实际代码而言,递归是什么。 递归是多么困难,而不是一门学得不好的递归。 什么是堆栈和调用堆栈,递归如何使用它们? 什么是堆栈溢出,基本案例如何防止它发生? 什么是递归和基本案例? 递归算法如何不能做迭代解决方案可以做的任何事情。 缓存/记忆化和尾调用消除如何防止递归算法中的常见问题。 递归优于迭代的问题类型有哪些。

代码示例

本教程并未介绍此 git 存储库中的所有程序,但您可以在此处找到代码示例:https://github.com/asweigart/recursion_examples

在教程之前没有必要查看此代码。

用于探索这些程序的可视化工具是 http://pythontutor.com/

阅读更多

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注