Implementation of some data structures, algorithms and solutions to known problems:
- min-heap and max-heap
- trie or prefix tree
- suffix array
- binomial coefficients (n choose k) using dynamic programming
- traveling salesman problem using simulated annealing
- quick select