Self study using Algorithms (4th Edition) By Robert Sedgewick and Kevin Wayne