Honorable mention to professor Eustrat Zhupa in the University of Rochester Computer Science Department.
- Dynamic array
- Singly linked list
- Doubly linked list
- Stack
- Queue
- Hash table
- Binary search tree (BST)
- Binary heap
- Priority queue
- Graph
- Trie
- Bit manipulation
- Mergesort
- Quicksort
- Heapsort
- Binary search
- Find k-th smallest elements
- Permutations
- Breadth-first search
- Depth-first search
- Dijkstra's algorithm
- Tree traversal
- Pre-order
- In-order
- Post-order
- Topological sort
- Cycle detection
- in an undirected graph
- in a directed graph
- Count connected components in a graph
- Find strongly connected components in a graph