datastructures and algorithms in python