CSCI2100A Data Structure
-
Department of Computer Science and Engineering
The Chinese University of Hong Kong
2025-2026 Term 2
Description
This course introduces the concept of abstract data types and the advantages of data abstraction. Various commonly used abstract data types including vector, list, stack, queue, tree, and set and their implementations using different data structures (array, pointer based structures, linked list, 2-3 tree, B-tree, etc.) will be discussed. Sample applications such as searching, sorting, etc., will also be used to illustrate the use of data abstraction in computer programming. Analysis of the performance of searching and sorting algorithms. Application of data structure principles.
Reference Materials
Course Staff
Instructor
Dr. Shengchao Liu
- Office: SHB 1016
- Office Hour: By Appointment
- Contact: scliu@cuhk.edu.hk
Teaching Assistant
Jinghao Wang
- Office: SHB 913
- Office Hour: 2-3pm Tues
- Contact: jhwang24@cse.cuhk.edu.hk
Shaoning Li
- Office: SHB 121
- Office Hour: 2-3pm Thur
- Contact: snli24@cse.cuhk.edu.hk
Fan Zhang
- Office: SHB 903
- Office Hour: 2-3pm Thur
- Contact: fzhang25@cse.cuhk.edu.hk
Yujie Huang
- Office: SHB 101 (5)
- Office Hour: 3-4pm Tues
- Contact: yjhuang@cse.cuhk.edu.hk
Zhouliang Yu
- Office: SHB 1004
- Office Hour: 9-10am Mon
- Contact: zlyu25@cse.cuhk.edu.hk
Syllabus
- Lectures
- Mon 12:30PM - 2:15PM, Lady Shaw Bldg LT6
- Wed 2:30PM - 3:15PM, Basic Med Sci Bldg G18
-
Tutorials
- Tues 3:30PM - 4:15PM, Mong Man Wai Glgd LT2
- Tues 5:30PM - 6:15PM, Mong Man Wai Glgd LT2
| Monday | Tuesday | Wednesday | |||
|---|---|---|---|---|---|
| 5 Jan |
0. Logistics (slide 0) 1. Introduction & Basics (slide 1) |
6 Jan | Tutorials on Linux CMD and GitHub (slide) | 7 Jan | 2. Complexity & Analysis (slide 2) |
| 12 Jan | 3. ADT, List, Stack, Queue (slide 3) | 13 Jan | Tutorials on Stakc and Queue | 14 Jan | 4. Review I (slide 4) |
| 19 Jan | 5. Hash (slide 5) | 20 Jan | Tutorials on Hash | 21 Jan | 6. Sorting I (slide 6) |
| 26 Jan | 7. Sorting II (slide 7) | 27 Jan | Tutorials on Sorting: Merge & Quick Sort | 28 Jan | 8. Divide-and-Conquer (slide 8) |
| 2 Feb |
9. Greedy (slide 9) 10. Dynamic Programming I (slide 10) |
3 Feb | Tutorials on D&C/Recurrence | 4 Feb | 11. Review II (slide 11) |
| 9 Feb | 12. Tree I | 10 Feb | Tutorials on Basic Greedy and DP | 11 Feb | 13. Graph I |
| Lunar New Year | |||||
| 23 Feb | 14. Searching I: Binary Search, BST |
24 Feb | Tutorials on Searching: BST | 25 Feb | 15. Searching II: BFS, DFS |
| Reading Week | |||||
| 9 Mar | Midterm | 10 Mar | Tutorials on Searching: DFS, Eight Queens |
11 Mar | 16. Dynamic Programming II: Linear DP, Knapsack, LIS, Tree DP, Prob. DP, Plug DP |
| 16 Mar | 16. Dynamic Programming II | 17 Mar | Tutorials on DP: LIS, n log(n) |
18 Mar | 17. Tree II: Heap, Disjoint Tree, KD Tree, B+ Tree, Segment Tree |
| 23 Mar | 17. Tree II | 24 Mar | Tutorials on Tree: Priority Queue & Disjoint Tree |
25 Mar | 17. Tree II |
| 30 Mar | 18. Graph II: Prim, Kruskal, Dijkstra, Bellman-Ford |
31 Mar | Tutorials on Graph: MST, Krusal & Prim |
1 Apr | 18. Graph II |
| Days following Ching Ming Festival & Easter Monday | 8 Apr | 18. Graph II | |||
| 13 Apr | 19. Review III | 14 Apr | Tutorials on Graph: Shortest Path, Dijkstra & Bellman-Ford |
15 Apr | 20. Summary |