1 Linear combinations
2 Tree equality

Problem Set 5

Language: Beginning Student with List Abbreviations
Due: 11:59 PM Thursday, Feb. 10

1 Linear combinations

Complete exercise 17.6.4 from HTDP/1e.

2 Tree equality

  ; a number-tree is either
  ; - false
  ; (make-node number number-tree number-tree)

Write the function same-tree? that takes two number-trees and determines if they’re equal, i.e., if they contain the same numbers and those numbers appear in the same positions of the trees. Do not use the built-in equal? function.

For example,

  (same-tree?
   (make-node 1
              (make-node 2 false false)
              (make-node 3 false false))
   (make-node 1
              (make-node 2 false false)
              (make-node 3 false false)))

should be true,

  (same-tree?
   (make-node 1
              (make-node 2 false false)
              (make-node 3 false false))
   (make-node 1
              (make-node 2 false false)
              (make-node 4 false false)))

should be false, and

  (same-tree?
   (make-node 1
              (make-node 2 false false)
              (make-node 3 false false))
   (make-node 3
              (make-node 1 (make-node 2 false false) false)
              false))

should be false.