Covers advanced data structures, computational geometry, cryptography, dynamic programming, greedy algorithms, divide-and-conquer, graph algorithms (e.g., depth-first search), network algorithms (e.g., shortest paths), approximation algorithms.
Implemented merge sort and ternary search.
Implemented and graphed the run-time complexities of the following sorts: insertion, merge, and quick.