- Basic Data Structures
- Queue
- Heap
- Linked List
- Stack
- Binary Search Tree
- Some Greedy Algorithms
- Sorting Algorithms
- Merge Sort
- Quick Sort
- Insertion Sort
- Some Interesting Dynamic Programming
- 0-1 Knapsack
- Coin Change
- Dice Throw
- Edit Distance
- Longest Common Substring
- Highway Billboard
- Max contiguous subarray
- Longest increasing subsequence
- Rot cutting
- Weighted job scheduling
Some of the implementations use Java
and the rest use cpp