?In this course, we will study the data structures (fundamental andadvanced data structures), algorithms analysis and algorithm design methodology(generic and specific algorithm design techniques). Such knowledge is at thecore of computer science, and allows us to write faster programs, especiallyones whose running time has attractive worst-case bounds. Techniques foranalyzing the performance of algorithms, designing beautiful/efficientalgorithm will also be discussed in detail. Tentative topics to be coveredinclude array, linked list, queue, stack, searching in ordered lists, sorting,priority queues, binary search trees, graph algorithms, advanced computationaltheory, advanced data structures (e,g,. kd-tree, bootstrapping, priority searchtree, and range tree) and so on.