SICP Exercise 2.65
Question
Use the results of Exercise 2.63 and Exercise 64 to give union-set
and intersection-set
for sets implemented as
(balanced) binary trees.
Answer
I may have taken the easy way out here, but the complexities of both these
functions should be
(define (union-tree tree1 tree2)
(let ((set1 (tree->list-2 tree1))
(set2 (tree->list-2 tree2)))
(list->tree (union-set set1 set2))))
(define (intersection-tree tree1 tree2)
(let ((set1 (tree->list-2 tree1))
(set2 (tree->list-2 tree2)))
(list->tree (intersection-set set1 set2))))