some data structure and algorithms in python