common
big-o notation
fibonacci sequence
tower of hanoi
GCD and LCM
factorial
string
sorting
merge sort
quick sort
heap sort
searching/exploration
linear search
binary search
hashing
DFS
BFS
graph/tree
tree traversal
binary search tree
AVL tree
Dijkstra
dynamic programming
greedy
devide and conquer
implementation