SICP 1.2.4遇到问题,求解
1.2.4中把linear recursive 变成linear iteration之后的程序,我不明白在count = 0 之前不会得出product的值。
也就是说interpreter一直要一直把(- count 1)带入到expt-inter中,这不是一种递归吗?
还有就是我不明白为什么迭代是Θ(1),不是Θ(3),Θ(7)什么的。
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
回复 2# Lispor
我认为Figure 1.3之所以会那样是因为normal-order evaluation的缘故
本帖最后由 Lispor 于 2010-12-08 08:20 编辑
递归、迭代的定义请参考:图1-3, 1-4
interpreter把 (- count 1) 带入到expt-inter之前,已经对 ( - count 1) 进行求值了<参看scheme求值模型>,
Θ(n)当n为常数时,写为Θ(1),这个参考有关算法书籍