Recursive Tree Walk |
|
(define (tree.valid? node-or-leaf)
(if (is-node? node-or-leaf)
(let ((smaller
(node.on-or-in node-or-leaf))
(not-smaller
(node.outside node-or-leaf))
(my-distance
(node.distance node-or-leaf)))
(and (< (distance smaller)
my-distance)
(>= (distance not-smaller)
my-distance)
(tree.valid? smaller)
(tree.valid? not-smaller)))
#T))
| Jim Miller |