Module Details for the Academic Year 2018/2019

COMP2003J Data Struc and Algorithms 2

This module extends the set of standard algorithms addressed in Data Structures and Algorithms I. It covers tree structures, linked structures (graphs), text processing and representation, as well as the core algorithms that complement each structure. A range of implementation techniques are examined, with emphasis being given to the complexity of the various solutions and their applicability to different problem domains.

Show/hide contentOpenClose All

On completion of this module, students will be able to:
- Implement tree data structures and use them in programs.
- Explain how tree balance affects the efficiency of various binary search tree operations.
- Show how different approaches to tree balancing affect the tree structure.
- Describe the heap property and the use of heaps as an implementation of priority queues.
- Solve problems using graph algorithms, including depth-first and breadth-first search, shortest paths, and minimum spanning trees.
- Discuss and contrast how the the runtime and memory efficiency an abstract data type is affected by the choice of implementation strategy.
- Implement simple search algorithms and explain the differences in their time complexities.
- Explain how multiple data structures can be used in concert to solve problems. 
Item Workload
Lectures

30

Laboratories

24

Autonomous Student Learning

71

Total

125

Description % of Final Grade Timing
Continuous Assessment: < Description >

20

Varies over the Semester
Examination: < Description >

80

2 hour End of Semester Exam

Compensation

This module is not passable by compensation

Resit Opportunities

End of Semester Exam

Remediation

If you fail this module you may repeat, resit or substitute where permissible.

Module Requisites and Incompatibles

Equivalent Modules

Prior Learning

Curricular information is subject to change