在Racket中最小化二进制搜索树

时间:2016-03-17 19:21:41

标签: binary-search-tree racket

所以,我试图在球拍中找到二进制搜索树的最小值,并且我不断收到此错误:

cadr:合同违规   预期:(cons / c any / c pair?)   给定:'null

我的代码如下:

(定义最小值   (λ(树)     (if(null?tree)null         (if(null?(cadr tree))(车树)            (最小(cadr树)))))

每个节点都有结构(值,左,右)。

1 个答案:

答案 0 :(得分:0)

您的测试数据看起来有问题,而不是minimum程序本身。例如,这对我有用:

(define tree
  (list 5 (list 3 (list 1 null null)
                  (list 4 null null))
          (list 6 null null)))

(minimum tree)
=> 1