# DD1352 Algorithms, Data Structures and Complexity 9.0 credits

Second course in computer science focusing on algorithms, data structures and complexity. Same course contents as DD2352 but with a larger lab component.

Course offering missing for current semester as well as for previous and coming semesters
Headings with content from the Course syllabus DD1352 (Autumn 2016–) are denoted with an asterisk ( )

## Content and learning outcomes

### Course contents

Principles for construction of algorithms: Divide and conquer, greedy algorithms, dynamic programming, local and exhaustive search. Algorithm analysis. Approximation algorithms and heuristics. Selected applications to sets, graphs, arithmetic, and geometry.

Data structures: Review of hash tables and heaps; balanced trees and Bloom filters. Use and implementation of data structures.

Computability and complexity: Reductions. Complexity classes P (polynomial time) and NP (non-deterministic polynomial time). NP-complete problems. Undecidable problems. Coping with untractable problems.

Terminology in Swedish and English.

### Intended learning outcomes

On completion of the course, the students should be able to:

• develop and implement algorithms with data structures and analyze them with respect to correctness and efficiency,
• compare alternative algorithms and data structures with respect to efficiency and reliability,
• define and translate central concepts such as P, NP, NP-completeness and undecidability,
• compare problems with respect to complexity using reductions,
• explain how problems of high complexity can be handled

so that they will be able to

• independently construct computer programs that use time and memory efficiently,
• in professional life identify and attack problems that are unrealistically resource demanding or not possible to solve on a computer.

### Course disposition

No information inserted

## Literature and preparations

### Specific prerequisites

For non-program students: completed upper secondary education including documented proficiency in Swedish corresponding to Swedish B, English corresponding to English A. Furthermore: 15 hp in mathematics, including discrete mathematics and probability, and 12 hp in computer science or programming.

### Recommended prerequisites

DD1339/DD1340/DD1341 Introduction to Computer Science (or DD1320/DD1321/DD1345, SF1630/SF1631 Discrete Mathematics (can be taken concurrently), and SF1901 Probability Theory and Statistics, or the equivalent.

### Equipment

No information inserted

### Literature

Kleinberg-Tardos: Algorithm Design, 2005, Pearson, ISBN 978-0321372918 +

Algorithms and Complexity, a supplement to Algorithm Design, Pearson Custom Publishing, ISBN 978-1847764126.

## Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

A, B, C, D, E, FX, F

### Examination

• LAB1 - Laboratory Assignments, 3,0 hp, betygsskala: P, F
• MAS1 - Master's test, 1,5 hp, betygsskala: A, B, C, D, E, FX, F
• MAS2 - Master's test, 1,5 hp, betygsskala: A, B, C, D, E, FX, F
• TEN2 - Examination, 3,0 hp, betygsskala: A, B, C, D, E, FX, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

Under special circumstances, other examination formats may be used.

In this course, the code of honor of the school is applied, see: http://www.kth.se/csc/student/hederskodex.

### Other requirements for final grade

The final grade is the minimum grade of MAS1, MAS2 and TEN2.

### Opportunity to complete the requirements via supplementary examination

No information inserted

### Opportunity to raise an approved grade via renewed examination

No information inserted

### Ethical approach

• All members of a group are responsible for the group's work.
• In any assessment, every student shall honestly disclose any help received and sources used.
• In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

## Further information

### Course web

Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.

Course web DD1352

### Offered by

CSC/Theoretical Computer Science

### Main field of study

Information Technology, Technology

First cycle