admin管理员组文章数量:1609685
据说是MIT的编程入门书,不得不感慨这才是真的编程入门书,而不是语言书,他讲的都是编程语言的基本概念。同时也意识到写程序也应该惜墨如金。
recursive process 和 iterative process
int factorial(int n)
{
if(n == 1) return n;
else return n * factorial(n-1);
}
int factorial_iter(int counter, int n, int result)
{
if(counter > n) return result;
else return factorial_iter(counter+1, n, counter*result);
}
int factorial(int n)
{ return factorial_iter(1, n, 1); }
这两个不都是递归函数吗?他们是递归函数,但是他们的思考方式是不一样的。上面的函数定义是以里面的factorial能得到所要结果为假设写出来的,他称为recursive process。下面的函数看似递归,实际上是在维护程序运行的状态。两种写法实际上基于机器计算的两个等价但是内容非常不一样的理论基石:lambda演算和图灵机。
本文标签: 读书笔记interpretationStructureprogramscomputer
版权声明:本文标题:Structure and Interpretation of Computer Programs 读书笔记 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1728576118a1164490.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论