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.