`log n`

, where `n`

is the size of the tree. (But watch out for unbalanced trees.) Adding information to tree nodes can speed up some operations even more. Conclusion

The binary search tree is quite a versatile structure. The "vanilla" version efficiently supports a variety of search operation. Typical running time for search is proportional to

`log n`

, where `n`

is the size of the tree. (But watch out for unbalanced trees.) Adding information to tree nodes can speed up some operations even more. The *key*; the second is the *value*. Access to pairs is done by either key or value. Modification of the table is done by key only.

`TreeMap`

class in `java.util`

is a balanced binary search tree whose elements are pairs. The first of the pair is the A good student learns from experience, comparing topics and techniques covered earlier to gain better insight on how they work the way they do. The recent material on binary search trees suggests comparing searching in a binary search tree with using binary search in an array, and with a TreeMap. How do they differ? How are they similar?

Homework Submission

- Submit
`MyTreeMap.java`

,`Date.java`

, and`Event.java`

as`hw14`

.

Reading Assignment

- JRS: Dictionaries (Hash Maps)
- CIDS: Chapter 11