Skip to main content

Data Structures (Spring 2022)

Enrollment is Closed

About This Course

The concept of abstract data types and the advantages of data abstraction are introduced. 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.

Learning Objectives

  1. To understand the concepts and operations of various data structures and their applications
  2. To understand the concept of abstract data types
  3. To have basic knowledge of algorithms and complexity of algorithms

Learning Outcomes

  1. To be able to implement the following data structures as abstract data types in a high level programming lanauge: stack, queue, hash table, list, binary search tree (including AVL tree, red black tree and splay tree), B-tree, trie, disjoint set, graph (including minimum spanning tree and shortest path).
  2. To be able to use appropriate data structures in different applications.
  3. To be able to implement abstract data types.
  4. To be able to analyse the complexity of simple algorithms (such as searching and sorting).

Learning Activities

  1. Lectures
  2. Tutorials
  3. Web resources
  4. Assignments
  5. Examinations


LecturerTutor 1Tutor 2Tutor 3Tutor 4
Name Irwin King Xinyu Fu Menglin Yang Zixing Song TBD
Email king AT xyfu AT mlyang AT 1155154521 AT TBD
Office SHB 908 SHB 1024 SHB 1024 SHB 1024 TBD
Telephone 3943 8398
Office Hour(s) Mon 9:30-10:30 AM, and by appointment TBD TBD TBD TBD