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.