This commit is contained in:
joachimschmidt557 2019-09-08 19:13:33 +02:00
parent be36959f87
commit 7391f2ffeb

10
bst.rkt
View file

@ -3,8 +3,8 @@
(define-struct node (value left right)) (define-struct node (value left right))
(define (search node value) (cond (define (search node value) (cond
[(= (node-value node) value) #t] [(= (node-value node) value) node]
[(empty? node) #f] [(empty? node) empty]
[(> (node-value node) value) (search (node-left node) value)] [(> (node-value node) value) (search (node-left node) value)]
[else (search (node-right node) value)] [else (search (node-right node) value)]
)) ))
@ -51,3 +51,9 @@
[(< 1 (abs (- (height (node-left node)) (height (node-right node))))) -1] [(< 1 (abs (- (height (node-left node)) (height (node-right node))))) -1]
[else (+ 1 (max (height (node-left node)) (height (node-right node))))] [else (+ 1 (max (height (node-left node)) (height (node-right node))))]
)) ))
(define (delete node)
(cond
[(empty? node) empty]
[(empty? (node-left node)) (node-right node)]
[(empty? (node-right node)) (node-left node)]))