Index Show pagesource Old revisions Digg this! Del.Icio.Us Google bookmark

This is an old revision of the document!

# CSCI2100 Data Structures

## Discussion forum

**Here** is the link to our discussion forum.

## Spring 2017-2018 Term 2

 Lecture I Lecture II Tutorial I Tutorial II M5, 12:30 pm - 1:15 pm T5-6, 12:30 pm - 2:15 pm M10 5:30 pm - 6:15pm W10 5:30 pm - 6:15 pm LSK LT3 LSK LT3 LHC 104 ERB 407

The Golden Rule of CSCI2100: No member of the CSCI2100 community shall take unfair advantage of any other member of the CSCI2100 community.

The Student/Faculty Expectations on Teaching and Learning document is available [here].

# Course Description

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.

# Pre-requisite and Enrollment policy

Pre-requisite: CSCI1110 or 1120 or 1130 or 1510 or 1520 or 1530 or 1540 or ENGG1110 or ESTR1100 or ESTR1102 or ESTR1002 or its equivalent. For senior-year entrants, the prerequisite will be waived. Students are also expected to have basic knowledge in Linux command line.

If you have not used Linux command line interface before, you can consider the following online course from Udacity.

## 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).

# Personnel

 Lecturer Tutor 1 Tutor 2 Tutor 3 Irwin King Wang Chen Shuyue Hu Jiani Zhang king AT cse.cuhk.edu.hk wchen AT cse.cuhk.edu.hk syhu AT cse.cuhk.edu.hk jnzhang AT cse.cuhk.edu.hk SHB 908 SHB 1024 SHB 1005 SHB 1024 3943 8398 * By appointment Friday 11:00 am - 12:00 am Thursday 4:00 pm - 5:00 pm Wednesday 4:00 pm - 5:00 pm

Note: This class will be taught in English. Homework assignments and examinations will be conducted in English.