data structure and algorithm study