CS61A 学习笔记 lecture 6 recursion
Posted ikventure
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CS61A 学习笔记 lecture 6 recursion相关的知识,希望对你有一定的参考价值。
- 开头依然是讲解lecture 5的未完成部分。
- 24min开始 main topic recursion。
lecture 5
example 9 delayed recursion
- 实际应用中不会遇到这种代码,但是便于加深对environment及frame的理解
- QA:当一个value没有在local frame中提及,但是在parent frame中存在,也可以在local中使用。
print_sums(1)(3)(5)
调用可以分为3步:
example 10 currying
- currying 指的是将一个多参数函数转换为单参数函数,该函数返回一个需要传入剩余参数的函数。
lecture 6 recursion 递归
review:Philosophy of Functions
- 语法和语义
- 函数抽象
递归和归纳
递归思维是归纳思维的一种。
递归
- base case
- Nth case可以由(N-1)th case和N的表达式表示
归纳
子问题和自相似
- 谢尔宾斯基三角/谢尔宾斯基地毯的描述与python表示
(个人补充)
递归是数学归纳法思维的编程体现
- 链条:计算过程存在递归链条
- 基例:存在一个或多个不需要再次递归的基例
- 递归链条只关心n与n-1的关系,不关心n-1具体怎么实现(经典案例:汉诺塔)
- 自相似与分形几何,谢尔宾斯基三角、科赫曲线等
以上是关于CS61A 学习笔记 lecture 6 recursion的主要内容,如果未能解决你的问题,请参考以下文章
[2021 Spring] CS61A 学习笔记 lecture 9 Function Examples
[2021 Spring] CS61A 学习笔记 lecture 10 containers and sequences
[2021 Spring]CS61A 学习笔记 Homework 4: Trees, Data Abstraction
cs231n spring 2017 lecture13 听课笔记
[学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 9 深度学习2
[学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 1 课程介绍