码迷,mamicode.com
首页 > 其他好文 > 详细

【SICP练习】93 练习2.66

时间:2015-03-05 13:06:08      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:二叉树   entry   键值   define   tree   

练习2.66

这道题相当于二叉树在实际工程中的一个运用,我们依旧要用到前面所学到的三个过程:entry, left-branch, right-branch。这三者的作用分别是取出结点、左分支、右分支。而根据题目要求,这里还需要一个获取键值的key。当然了,就像书中上文所展示的那样,key并不需要我们写出来,这里就用到了按愿望思维。

(define (lookup given-key tree-of-records)
   (if (null? tree-of-records)
      #f
       (let ((entry-key (key (entry tree-of-records))))
         (cond ((= given-key entry-key)
                 (entry tree-of-records))
               ((> given-key entry-key)
                 (lookup given-key (right-branch tree-of-records)))
                ((< given-key entry-key)
                  (lookup given-key (left-branch tree-of-records)))))))

【SICP练习】93 练习2.66

标签:二叉树   entry   键值   define   tree   

原文地址:http://blog.csdn.net/nomasp/article/details/44079469

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!