Algorithms and Data Structures II

5 credits

Syllabus, Bachelor's level, 1DL231

A revised version of the syllabus is available.
Code
1DL231
Education cycle
First cycle
Main field(s) of study and in-depth level
Computer Science G2F
Grading system
Fail (U), Pass (3), Pass with credit (4), Pass with distinction (5)
Finalised by
The Faculty Board of Science and Technology, 25 April 2012
Responsible department
Department of Information Technology

Entry requirements

60 credits of which at least 15 credits in Mathematics, and 30 credits in Computer Science, including Algorithms and Data Structures I.

Learning outcomes

In order to pass, the student must be able to

  • use the notation of asymptotic growth of functions and be able to use this notation to describe the complexity of algorithms and computational problems
  • derive equations for the complexity of algorithms and solve such equations
  • work with common algorithmic techniques such as dynamic programming, greedy algorithms, etc.
  • deal with basic problems using graph algorithms, string matching and flow networks.
  • define the complexity classes P and NP, and discuss the open question whether P=NP.

Content

Asymptotic notation and recurrence equations. Data structures for disjoint sets. Dynamic programming. Greedy algorithms. Graph algorithms such as shortest path and minimum spanning tree. Maximum flow problem in flow networks. Algorithms for string matching. Theory of intractable problems.

Instruction

Lectures, lessons, and exercises.

Assessment

Written exam (3 credits). Assignments (2 credits).

FOLLOW UPPSALA UNIVERSITY ON

facebook
instagram
twitter
youtube
linkedin