码迷,mamicode.com
首页 >  
搜索关键字:sicp    ( 322个结果
【SICP练习】93 练习2.66
练习2.66这道题相当于二叉树在实际工程中的一个运用,我们依旧要用到前面所学到的三个过程:entry, left-branch, right-branch。这三者的作用分别是取出结点、左分支、右分支。而根据题目要求,这里还需要一个获取键值的key。当然了,就像书中上文所展示的那样,key并不需要我们写出来,这里就用到了按愿望思维。(define (lookup given-key tree-of-r...
分类:其他好文   时间:2015-03-05 13:06:08    阅读次数:115
【SICP练习】95 练习2.68
练习2.68先要导入练习2.67中的sample-tree。这道题要求我们写出能够根据给定的树产生出给定符号的二进制位表的函数encode-symbol,这个函数还要能够在遇到未在树中出现的符号时报错。这个函数将要在给定的树中查找给定符号的叶子节点,并记录下寻找过程中的左右方向,当然了,如书中所说,向左则用0,向右则用1。因此该函数可以如下列出。我们先来写那个检测错误的谓词。(define (sym...
分类:其他好文   时间:2015-03-05 13:06:03    阅读次数:167
【SICP练习】97 练习2.70
练习2.70既然要解码,那必须先将树给定义好了。(define tree (generate-huffman-tree ‘((A 2) (NA 16) (BOOM 1) (SHA 3) (GET 2) (YIP 9) (JOB 2) (WAH 1))然后就是来编码题目中给出的歌词了。(define message-1 ‘(Get a job)) (define message-2 ‘(Sha na...
分类:其他好文   时间:2015-03-05 13:05:25    阅读次数:162
SICP 习题 (2.26)解题总结:列表操作符append cons list
SICP  习题 2.26 也是不需要太多解释的题目, 题目的主要目的是让读者理解append cons list三个操作的差别。直接运行下面代码中的start-test-2-26过程就可以了,需要留意一下的是append 过程, cons过程和list过程的使用。最好翻一下mit-schme的参考手册,对了,一直没有提mit-scheme的手册,建议大家去下载一份备用,需要的时候查一查链接如下:...
分类:移动开发   时间:2015-03-02 23:56:48    阅读次数:231
【SICP练习】70 练习2.41
?? 练习2.41 这道题其实就是书中素数示例的变种,其本质是一样的。因此我们也按照同样的次序来完成这个过程。首先第一步,我们来完成生成3个相异整数构成的三元组。但在上一题中我们已经写出了能够产生2个相异整数构成的二元组了。因此我们只要多产生一个i,让其与产生的二元组结合,便能产生三元组了。那么,开工吧。 (define (unique-triples n)    (fla...
分类:其他好文   时间:2015-02-23 09:47:06    阅读次数:126
【SICP练习】71 练习2.42
?? 练习2.42 这道题曾经在C#中写过,但是写出来的代码却没有Lisp中的朴素。用了一大堆的数组和for循环。但是在这里,用car、cdr来构造就行了。 我们按书中给出的步骤来一步一步求解这个问题。首先是棋局,就按书上的示意图,从上往下的来排皇后的位置。诸如此时书中皇后的位置为:’(6 3 1 7 5 8 2 4)。 然后就是过程adjoin-position。rest...
分类:其他好文   时间:2015-02-23 09:46:38    阅读次数:172
【SICP练习】68 练习2.39
?? 练习2.39 通过前一习题的类比相信已经知道了fold-left和fold-right的内在意义,本题中要求的逆序数可以用cons来构造。具体为,先将list的第一个元素取出用(cons (car list) ‘() )构造,接着第二个、第三个……用(cons …… (cons (car (car list) ) (cons (carlist) ‘())))。当然了,在这个...
分类:其他好文   时间:2015-02-23 09:46:37    阅读次数:121
【SICP练习】66 练习2.37
?? 练习2.37 这道题花了我太长的时间了,一开始我就把题目中的m看成了w。然后题中给出的dot-product的两个参数我还以为一个是向量另一个是矩阵。怎么算都算不出来,直到看到“返回求和...”里的w只有一个i而没有j。好了,那么开始按照题目的要求来做题了。 既然发现了自己的错误,那么就知道了dot-product是干嘛的了,它可以用来求一个矩阵中的一列和一个向量的积。因此...
分类:其他好文   时间:2015-02-23 09:46:27    阅读次数:142
【SICP练习】69 练习2.40
?? 练习2.40 这道题要我们写一个传入一个整数n然后返回一个序对(i, j)的过程unique-pairs,然后用于上一页的prime-sum-pairs的定义。此时我们要注意在prime-sum-pairs中哪一段代码表达的是这个意思。没错,是flatmap函数。因此我们将其写入到unique-pairs中。 (define (unique-pairs n)    (...
分类:其他好文   时间:2015-02-23 09:45:37    阅读次数:155
【SICP练习】57 练习2.27
?? 练习2.27 又是修改程序的题目,要求我们写出的deep-reverse函数要将表中的元素也反转过来,这其中应该要用到递归来实现吧。 (define (deep-reverse tree)    (cond ((null? tree) ‘())           ((not (pair? tree)) tree)           (else (r...
分类:其他好文   时间:2015-02-22 14:38:12    阅读次数:117
322条   上一页 1 ... 15 16 17 18 19 ... 33 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!