data structure and algorithm analysis