【发布时间】:2016-03-17 19:21:40
【问题描述】:
所以,我试图在球拍中找到二叉搜索树的最小值,但我不断收到此错误:
cadr:违反合同 预期:(cons/c any/c pair?) 给定:'null
我的代码如下:
(定义最小值 (λ (树) (如果(空?树)空 (if (null? (cadr tree)) (汽车树) (最小(cadr树)))))
每个节点都有结构(值、左、右)。
【问题讨论】:
-
请证明这不是家庭作业。
所以,我试图在球拍中找到二叉搜索树的最小值,但我不断收到此错误:
cadr:违反合同 预期:(cons/c any/c pair?) 给定:'null
我的代码如下:
(定义最小值 (λ (树) (如果(空?树)空 (if (null? (cadr tree)) (汽车树) (最小(cadr树)))))
每个节点都有结构(值、左、右)。
【问题讨论】:
您的测试数据似乎有问题,而不是 minimum 过程本身。例如,这对我有用:
(define tree
(list 5 (list 3 (list 1 null null)
(list 4 null null))
(list 6 null null)))
(minimum tree)
=> 1
【讨论】: