Chapter 2, Building Abstractions with Data
Section - 2.3 Symbolic Data
Exercise 2.60
Only changes are in adjoin-set and union-set. Procedure adjoin-set have $\theta(1)$ time complexity and procedure union-set have $\theta(n)$ time
complexity.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#lang sicp
(#%require (only racket/base error))
(define (adjoin-set x set)
  (cons x set)
)
(define (union-set set1 set2)
  (cond ((null? set1) set2)
        ((null? set2) set1)
        (else (append set1 set2))
  )
)  
Clearly the preferred places for this representation are those where it is required to collect/write/create the elements of the set most of the times and only rarely we check presence of element in the set.