Exercise 2.65. Use the results of exercises 2.63 and 2.64 to give ϴ(n) implementations of union-set and intersection-set for sets implemented as (balanced) binary trees. ———————————————————————————————————————————————————————————————————————— I'm sure this could be done more efficiently. (define (union-set a b) (list->tree (union-list (tree->list-2 a) (tree->list-2 b)))) (define (union-list a b) (cond ((null? a) b) ((null? b) a) ((= (car a) (car b)) (cons (car a) (union-list (cdr a) (cdr b)))) ((< (car a) (car b)) (cons (car a) (union-list (cdr a) b)))) (else (cons (car b) (union-list a (cdr b))))) (define (intersection-set a b) (list->tree (intersection-list (tree->list-2 a) (tree->list-2 b)))) (define (intersection-list a b) (cond ((or (null? a) (null? b)) '()) ((= (car a) (car b)) (cons (car a) (intersection-list (cdr a) (cdr b)))) ((< (car a) (car b)) (intersection-list (cdr a) b)) (else (intersection-list a (cdr b)))))