堆堆排序和合并排序一样,是一种时间复杂度为O(nlgn)的算法,同时和插入排序一样,是一种就地排序算法(不需要额外的存储空间)。堆排序需要用到一种被称为最大堆的数据结构,与java或者lisp的gc不一样,这里的堆是一种数据结构,他可以被视为一种完全二叉树,即树里面除了最后一层其他层都是填满的。也正...
分类:
编程语言 时间:
2015-04-05 23:20:28
阅读次数:
237
练习4-8原文Exercise 4.8. “Named let” is a variant of let that has the form (let )The and are just as in ordinary let, except that is bound within to a procedure whose body is a...
分类:
其他好文 时间:
2015-04-01 11:30:09
阅读次数:
149
练习4-6原文Exercise 4.6. Let expressions are derived expressions, because
(let (( ) … ( )) )
is equivalent to
((lambda ( … ) ) )
Implement a syntactic transformation let->combination that reduces...
分类:
其他好文 时间:
2015-04-01 09:35:32
阅读次数:
153
练习4-7原文Exercise 4.7. Let* is similar to let, except that the bindings of the let variables are performed sequentially from left to right, and each binding is made in an environment in which all of the...
分类:
其他好文 时间:
2015-04-01 09:31:37
阅读次数:
178
转自:http://blog.csdn.net/schumyxp/article/details/2278268emacs的配置文件,叫作.emacs,是个隐藏文件,存在于当前用户的根目录下面,也就是~/.emacsemacs的配置文件采用了elisp作为配置文件的语言,来源于强大的lisp语言。下...
分类:
系统相关 时间:
2015-03-31 12:16:44
阅读次数:
190
说到JAVA 语言 就要从JAVA 的起源开始1.起始于GREEN项目2.集C,C++,LISP,于一体Java OO被称为面向对象语言 意思是以对象作为基本程序结构单位的程序设计语言。用于描述以对象为核心的程序结构。其次,面向对象是基于类。面向对象的三项基本特征包括1.封装意思是将各个独立的功能设...
分类:
编程语言 时间:
2015-03-29 17:57:44
阅读次数:
146
练习3-65原文Exercise 3.65. Use the series
ln2 = 1- 1/2 + 1/3 - 1/4 + ……
to compute three sequences of approximations to the natural logarithm of 2, in the same way we did above for . How rapidly do the...
分类:
其他好文 时间:
2015-03-29 09:30:17
阅读次数:
165
虽说叫做副作用显得不太好听,但在Lisp中副作用还是非常重要的。而相对于所有状态都必须显式地操作和传递额外参数的方式,如果引进赋值和将状态隐藏在局部变量中,那么就可以用更加模块化的方式来构造系统。正如你所知道的,不用任何赋值的程序设计称为函数式程序设计。相反,广泛采用赋值的程序设计称为命令式程序设计。在C等命令式程序设计语言中,我们往往都要仔细考虑变量赋值的顺序,尤其是在循环中,但在函数式程序设计中...
分类:
其他好文 时间:
2015-03-28 11:39:13
阅读次数:
180
首先需要澄清的是,垃圾收集(GC)的历史远比Java要久远,当我们意识到手动管理内存所带来的麻烦时,懒惰的天性推动先驱们寻找更为简单、易用、关键是傻瓜式的内存管理技术。GC技术起源于1960年诞生于MIT的Lisp语言,由此可见越聪明的人越懒惰。 最近有一种想法:程序开发,程序设计从本质上...
分类:
编程语言 时间:
2015-03-20 18:37:26
阅读次数:
168