IDATT2101

Algorithms and data structures

Autumn

Trondheim

Norwegian

Overview

97 candidates

Average grade

B

4.20

0.31

Pass rate

100%

2 points

Grade distribution
Average over time
Pass rate over time

About this course

Content

This course covers:

1. Techniques and algorithms: Abstract data types, Recursion, sorting, search, hashing, shortest path, maximum flow, data compression, greedy algorithms, dynamic programming

2. Data structures: array, lists, queues, stack, tree, graph

3. Theory on complexity and asymptotic notation. Time and space complexity

Learning outcomes

Knowledge

The candidate should:

  • know, and be able to explain, various algorithms for sorting, searching and graph theory
  • be able to describe and explain various data structures (arrays, linked lists, queues, stacks, trees and graphs)
  • understand the recursive approach to problem solving and programming
  • be able to compare algorithmic complexity, and select the most sustainable solution
  • be able to describe compelxity classes and np-completeness

Skills

The candidate should be able to:

  • use several known algorithms to solve practical programming problems in an efficient way
  • write code solving advanced and complex problems
  • handle advanced data structures, particularly trees and graphs

General competence

The candidate should be able to combine standard algorithms to make bigger program units.

Teaching methods

Lectures & exercises