Signed-off-by: Jim Pryor <profjim@jimpryor.net>
Think about how you'd implement them in a more principled way. You could
use any of the version 1 -- version 5 implementation of lists as a model.
Think about how you'd implement them in a more principled way. You could
use any of the version 1 -- version 5 implementation of lists as a model.
- To keep things simple, I recommend starting with the version 3 pattern. And
- stick to binary trees.
+ To keep things simple, we'll stick to binary trees. A node will either be a
+ *leaf* of the tree, or it will have exactly two children.
There are two kinds of trees to think about. In one sort of tree, it's only
the tree's *leaves* that are labeled:
There are two kinds of trees to think about. In one sort of tree, it's only
the tree's *leaves* that are labeled: