data structure and algorithm practices.