Code Review
Compare your solutions
#| BEGIN (Write your solution here) |#
; Code from the book
(define (left-branch tree) (car tree))
(define (right-branch tree) (cadr tree))
; My code
(define (is-member e s)
(cond
((null? s) #f)
((eq? e (car s)) #t)
(else (is-member e (cdr s)))
)
)
(define (encode-symbol symbol tree)
(if (leaf? tree)
'()
(let ((left (left-branch tree)) (right (right-branch tree)))
(cond
((is-member symbol (symbols left)) (cons 0 (encode-symbol symbol left)))
((is-member symbol (symbols right)) (cons 1 (encode-symbol symbol right)))
(else (error "symbol not in tree"))
)
)
)
)
#| END |#