SICP第1.2.1至1.2.2节内容有哪些学习笔记?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3288个文字,预计阅读时间需要14分钟。
SICP 学习笔记(1.2.1~1.2.2)+ 周鹏辉 1,递归过程与递归计算过程,在学习 SICP 前我并未特别注意这一区域,因为我们都停留在递归过程(recursive procedure)的语法层面。
SICP学习笔记(1.2.1 ~ 1.2.2)周银辉
1, 递归过程 和 递归计算过程
在学习SICP前我还没注意过有这样的一个区分,因为我们始终停留在语法表面上的“递归过程(recursive procedure)”,而没有去理解其实质是否是“递归计算过程(recursive process)”。
- 递归过程:从语法书写层面上而言的,在过程的定义中,其直接或间接地引用该过程本身。 比如 F{F}或者 F{G{F}}
- 递归计算过程:从实际运算层面上而言的,一个在语法上按照递归过程书写的函数其在运算时可能是按照递归的方式也可能是按照迭代的方式进行的。这取决于解释器或编译器本身是否有对“递归”进行优化,比如Scheme解释器是“严格尾递归”的, 而C#之类的,即便在语法形式上是"尾递归"的,但其仍然不能被编译成迭代计算过程,当然,你可以使用for,while等.
本文共计3288个文字,预计阅读时间需要14分钟。
SICP 学习笔记(1.2.1~1.2.2)+ 周鹏辉 1,递归过程与递归计算过程,在学习 SICP 前我并未特别注意这一区域,因为我们都停留在递归过程(recursive procedure)的语法层面。
SICP学习笔记(1.2.1 ~ 1.2.2)周银辉
1, 递归过程 和 递归计算过程
在学习SICP前我还没注意过有这样的一个区分,因为我们始终停留在语法表面上的“递归过程(recursive procedure)”,而没有去理解其实质是否是“递归计算过程(recursive process)”。
- 递归过程:从语法书写层面上而言的,在过程的定义中,其直接或间接地引用该过程本身。 比如 F{F}或者 F{G{F}}
- 递归计算过程:从实际运算层面上而言的,一个在语法上按照递归过程书写的函数其在运算时可能是按照递归的方式也可能是按照迭代的方式进行的。这取决于解释器或编译器本身是否有对“递归”进行优化,比如Scheme解释器是“严格尾递归”的, 而C#之类的,即便在语法形式上是"尾递归"的,但其仍然不能被编译成迭代计算过程,当然,你可以使用for,while等.

