Grokking algorithms is an excellent book by Aditya Bhargava on, well, algorithms. It's a great way to get one's feet wet with some popular algorithms and the concepts behind them.
This repo holds the code I wrote while going through the book. The files contain implementations of some popular algorithms in python.