common algorithms, data structure in python