View on GitHub

REPL

The Learning Hub for UoL's Online CS Students

Go back to the main page

Table of contents


Algorithms and Data Structures II

This module aims to provide you with detailed knowledge of several common algorithms and data structures. You will improve your understanding of searching and sorting and learn new algorithms to solve new problems. You will learn about a range of data structures such as trees, heaps, sets, maps, stacks, queues and graphs. You will learn how to evaluate and describe the performance of algorithms using big-O notation. You will learn: how to choose appropriate data structures for representing problems, how to define and implement algorithms for manipulating them, and how to analyse the correctness and efficiency of algorithms.

You will be expected to have mastered the material in Algorithms and Data Structures I before attempting this module.

Professor(s)

Topics covered

Assessment

One two hour unseen written examination and coursework (Type I)

Module specification

Past exams

See past exams here.

Syllabus

Primary programming language

C++

List of required reading

Book - Cormen, T.H., C.E. Leiserson, R.L. Rivest and C. Stein Introduction to algorithms. (MIT Press, 2009) 3rd edition [ISBN 9780262533058].

Week Topic Section Page number
1 RAM Model 2.2 pp. 23-4
2 Worst and average case analysis   p. 27
2 Asymptotic notation 3.1 43-52
4 Recursive algorithm and analysis 2.3, ch. 4 (except 4.6) pp. 29-37, pp. 65-113
5 Insertion Sort 2.1, 2.2 pp. 16-22, pp. 23-9
6 QuickSort Ch.7, 7.1, 7.2 pp. 170-3, pp. 174-8
6 MergeSort 2.3.1, 2.3.2 pp. 30-34, pp. 34-37
7 Lower bounds for comparison sorts Chapter 8, 8.1 pp. 191-3
7 Counting Sort 8.2 pp 194-6
8 Radix Sort 8.3 pp. 197-9
8 Bucket Sort 8.4 pp. 200-
9 Hashing 11 pp. 253-285
13 Linked Lists definition of DS, 10.2 p.9, pp.236-41
14 Stacks and Queues 10.1 pp 232-5
16 Binary search trees ch. 12, 12.1, 12.2, 12.3 pp. 286-8, pp. 289-92, pp.294-8
17 Heaps, Heapsort and priority queues Chapter 6 pp. 151-69
19 Graph representation, MST and Dijsktra Ch.22- 22.1, Ch. 23, Ch 24-Ch. 24.3 pp. 579-92, pp. 624-42, pp.658-66

Resources

Complementary learning

Mock exam

Solutions shared by students

:heart: Notes

Solutions to the textbook Introduction to Algorithms