Algorithms and Data structures in Python