Exam 1Link will be posted here. Topics include:  basic operation of sorting algorithms:
 Bubble sort (the correct one!)
 insertion sort
 selection sort
 quicksort
 Analysis of algorithms:
 identifying recurrence relations of iterative algorithms
 using recurrence relations of iterative and recursive algorithms to determine runtime complexity (i.e., finding the closedform of a recurrence relation)
 basic interface of linear data structures:
 dynamic arrays (std::vector)
 linked lists
 queues, stacks, sets
 bitfields
 matrices (2D arrays)
 runtime complexity of various operations on linear data structures
Exam 2Link is posted here. Topics include:  basic tree data structures
 binary search trees
 binary heaps
 hashing
 hash functions
 open addressing
 chaining
Exam 3Link will be posted here. Topics include:  graph searches:
 breadthfirst search
 depthfirst search
 shortest path:
 minimal spanning tree:
 Prim's algo
 Kruskal's algo
 network flow:
 dynamic programming
