Teaching -> Data Structures
Duration: Approximately 30 lecture hours
Prerequisites: Knowledge in Java programming and object-oriented programming
Course contents:
- Abstract data types and structures
- Complexity
- Best, worst and average cases
- Recursions
- Arrays
- Simple sorting: bubble sort, selection sort and insertion sort;
- Linked lists, stacks and queues
- Binary trees
- Red-black trees
- 2-3-4 trees and external storage
- Advanced sorting: Shell sort, quick sort, merge sort, heap sort and radix sort;
Objectives:
- To introduce various data structures, their computer representations and associated algorithms.
- To investigate the running time of an algorithm.
Method of assessments:
- Continuous assessments - 40%
- Final examination - 60%
Attendance:
- Only those who satisfy the requirement of attendance (at least 80%) at lectures are allowed to sit the end of semester examination.
- Students who misbehave in the class will be asked to leave the class. If a student is asked to leave a lecture, this will count as an absence.
Recommended reading:
- Data Structures and Algorithms in Java (Second edition), Robert Lafore, SAMS, 2003.
- Data Structures with Java (Second edition), John R. Hubbard, Schaum's Outlines, 2007.