Peking University Zhang Ming data structure and algorithm 1