The final exam covers chapters 1-2 of the text (except 2.2 and 2.3).
Ideally, you should be comfortable with all of the following:
- loops over an array
- recursive functions over an array, forward and backward
-
accessors and mutators using a loop over
- singly linked list
- doubly linked list
- adding arithmetic and geometric series
-
time complexity of
- independent nested loops
- dependent nested loops
- simple recursive functions
- selection sort (worst N^2, best N^2)
- insertion sort (worst N^2, best N)
- heap sort (worst N*log N)
-
time complexity and functionality of
- "resizing" arrays
- QuickFind, QuickUnion, and WeightedQuickUnion
- insert, find, delete on unsorted array
- insert, find, delete on sorted array
- insert, find min/max, delete min/max on heap

