University of Oxford Logo University of OxfordDepartment of Computer Science - Home

Advanced Data Structures and Algorithms:  2010-2011

Information

Lecturer

Degrees

Part A OptionsComputer Science

Schedule B1Computer Science

Schedule B1Mathematics and Computer Science

Term

Overview

This course builds on the first-year Design and Analysis of Algorithms course. It introduces students to a number of highly efficient algorithms and data structures for fundamental computational problems such as primality testing, linear optimisation and string matching. Students are also introduced to randomised algorithms and to techniques of amortised complexity analysis. As in the first-year course, the style of the presentation is rigorous but not formal.

Learning outcomes

On successful completion of the course students will:

Synopsis

Syllabus

Amortised analysis 

Splay trees

Mergable heaps (time permitting)

Disjoint sets / Union-Find

Primality testing (Miller-Rabin algorithm)

String matching (Rabin-Karp and Knuth-Morris-Pratt  algorithms)

Max-flow (Edmonds-Karp algorithm)

Linear programming (Simplex method and duality)

Fast Fourier transform

Reading list

The main text used in the course is:

The following text is a useful alternative.