;; Question 5 (define-struct node (ssn name left right)) (define (search-bst n bstree) (cond [(= n (node-ssn bstree)) (node-name bstree)] [(> n (node-ssn bstree)) (search-bst n (node-left bstree))] [(< n (node-ssn bstree)) (search-bst n (node-right bstree))] [else false])) (define (add-to-bst n s bstree) (cond [(search-bst n bstree) bstree] [(> n (node-ssn bstree)) (add-to-bst n s (node-left bstree))] [(< n (node-ssn bstree)) (add-to-bst n s (node-right bstree))] [(and (> n (node-ssn bstree)) (boolean? (node-left bstree))) (make-node (node-ssn bstree) (node-name bstree) (make-node n s false false) false)] [(and (< n (node-ssn bstree)) (boolean? (node-right bstree))) (make-node (node-ssn bstree) (node-name bstree) false (make-node n s false false))]))