SICP-《计算机程序的构造和解释》之习题分析与收获——练习1.30
来源:互联网 发布:excel数据选项卡在哪 编辑:程序博客网 时间:2024/05/19 15:44
(define (sum term a next b)
(define (iter a result)
(if (> a b)
result
(iter (next a)
(+ (term a) result))))
(define (iter a result)
(if (> a b)
result
(iter (next a)
(+ (term a) result))))
(iter a 0)) //在定义后要记得在外面调用
稍微归纳下递归和迭代的区别
从形式上类似于
(define (f n)
.........
(+ a (f (+ 1 n))))
他就是理解为用a去加下一个自己的不同参数的函数,然后又会遇到想通情况最终形成在寄存器(这方面不太了解)形成a+a+a+....+f(n+i)的局面,最后再来收拢。这样会占用很多的空间。
(define (f n)
.........
(f (n+i)))
直观上看就是调用自身函数前面不加外部变量,然后仅用参数去储存每次上次计算的结果。
这里的sum原先是没有可以用来存储作用的参数,所以在里面嵌套了一个 iter函数从而用result来存放了数据,这就相当于在内部创建的局部变量吧。
0 0
- SICP-《计算机程序的构造和解释》之习题分析与收获——练习1.30
- SICP-《计算机程序的构造和解释》之习题分析与收获——练习1.29
- 计算机程序的构造与解释(SICP)
- 计算机程序的构造和解释(SICP)
- SICP-计算机程序的构造和解释-目录+书评
- 计算机程序的构造和解释 练习 1.30
- 计算机程序构造与解释 习题答案
- 计算机程序的构造与解释习题1.17
- 计算机程序的构造和解释习题3.22
- 计算机程序的构造和解释习题3.28
- 计算机程序的构造和解释习题3.29
- 计算机程序的构造和解释习题3.33
- 《计算机程序的构造和解释》习题答案
- 计算机程序的构造与解释 练习1.16, 1.19
- SICP 计算机程序的构造和解释 1.16 迭代法对数计算B的N次方
- [*****]SICP-计算机程序的构造和解释(原书第2版)
- 计算机程序的构造和解释(SICP)确实是本好书~
- 计算机程序的构造和解释 练习 1.8
- implements OnClickListener
- 归并排序
- php学习笔记(二十五)认识session
- Effective STL --关联容器
- Linux之Makefile(filter-out)
- SICP-《计算机程序的构造和解释》之习题分析与收获——练习1.30
- 操作系统之进程的状态
- android 事件处理
- Linux之Makefile(sort)
- Effective STL--交换技巧来修改过剩容量
- 数据打开时,两次比较详解
- php学习笔记(二十六)创建session
- 群延迟解释(FIR线性相位的解释)
- 12月书籍