deleting nodes searching the tree tree traversal depth-first traversal in-order traversal and infix notation pre-order traversal and prefix notation post-order traversal and postfix notation breadth-first traversal benefits of binary search tree expression trees parsing reverse polish expression balancing trees heaps summary hashing and symbol tables hashing perfect hashing functions hash table putting elements getting elements testing the hash table using [with the hash table non-string keys growing hash table open addressing chaining symbol tables summary graphs and other algorithms graphs directed and undirected graphs weighted graphs graph representation adjacency list adjacency matrix graph traversal breadth-first search depth-first search other useful graph methods iv