data structures and algorithms training in python