Hoppa till huvudinnehållet

DD1352 Algoritmer, datastrukturer och komplexitet 9,0 hp

Kursomgångar saknas för aktuella eller kommande terminer.
Rubriker med innehåll från kursplan DD1352 (HT 2016–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

Konstruktionsprinciper för algoritmer: Dekomposition, giriga algoritmer, dynamisk programmering, lokal och total sökning. Algoritmanalys. Approximationsalgoritmer och heuristiker. Tillämpningar med algoritmer för problem på mängder, grafer, aritmetik och geometri. Implementation av algoritmer.

Datastrukturer: Repetition av hashtabeller och heapar; balanserade träd, bloomfilter. Användning och implementation av datastrukturer.

Beräkningsbarhet och komplexitet: Reduktionsbegreppet, komplexitetsklasserna P (polynomisk tid) och NP (ickedeterministisk polynomisk tid). NP-fullständiga problem, oavgörbara problem. Hur man kan hantera problem med hög komplexitet.

Fackterminologi på svenska och engelska.

Lärandemål

Efter fullgjord kurs ska studenten kunna:

  • utveckla och implementera algoritmer med datastrukturer och analysera dem med avseende på korrekthet och effektivitet,
  • jämföra alternativa algoritmer och datastrukturer med hänsyn till effektivitet och pålitlighet,
  • definiera och översätta centrala begrepp som P, NP, NP-fullständighet och oavgörbarhet,
  • jämföra problem med hänsyn till komplexitet med hjälp av reduktioner,
  • förklara hur man kan hantera problem med hög komplexitet

för att

  • självständigt kunna konstruera datorprogram som effektivt utnyttjar tid och minne,
  • i yrkeslivet kunna identifiera och angripa problem som är orealistiskt resurskrävande eller inte alls går att lösa med dator.

Kurslitteratur och förberedelser

Särskild behörighet

För fristående kursstuderande: grundläggande högskolebehörighet samt 15 hp i matematik, inklusive diskret matematik och sannolikhetslära, och 12 hp datalogi eller programmeringsteknik.

Rekommenderade förkunskaper

Motsvarande kurserna DD1339/DD1340/DD1341 Introduktion till datalogi (alternativt DD1320/DD13321 eller DD1345), SF1630/SF1631 Diskret matematik (kan läsas parallellt), samt SF1901 Sannolikhetsteori och statistik.

Utrustning

Ingen information tillagd

Kurslitteratur

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

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

Examination och slutförande

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Betygsskala

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

Examination

  • LAB1 - Laborationsuppgifter, 3,0 hp, betygsskala: P, F
  • MAS1 - Mästarprov, 1,5 hp, betygsskala: A, B, C, D, E, FX, F
  • MAS2 - Mästarprov, 1,5 hp, betygsskala: A, B, C, D, E, FX, F
  • TEN2 - Tentamen, 3,0 hp, betygsskala: A, B, C, D, E, FX, F

Examinator beslutar, baserat på rekommendation från KTH:s handläggare av stöd till studenter med funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.

Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

Om särskilda skäl finns kan annan examinationsform användas.

I denna kurs tillämpas skolans hederskodex, se: http://www.kth.se/csc/student/hederskodex.

Övriga krav för slutbetyg

Slutbetyget är det lägsta av betygen på MAS1, MAS2 och TEN2. 

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

Etiskt förhållningssätt

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Ytterligare information

Kursrum i Canvas

Registrerade studenter hittar information för genomförande av kursen i kursrummet i Canvas. En länk till kursrummet finns under fliken Studier i Personliga menyn vid kursstart.

Ges av

Huvudområde

Informationsteknik, Teknik

Utbildningsnivå

Grundnivå

Påbyggnad

DD2440 Avancerade algoritmer, DD2441 Seminariekurs i teoretisk datalogi, DD2445 Komplexitetsteori, DD2448 Kryptografins grunder, DD2450 Algoritmisk bioinformatik, DD2458 Problemlösning och programmering under press.

Kontaktperson

Viggo Kann, tel: 790 6292, e-post: viggo@kth.se

Övrig information

Kursen ersätts från 2017/2018 av den nya kursen DD2350 med samma kursnamn.

Endast en av följande kurser bör få räknas med i examen: 2D1352, 2D1353, 2D1354, DD1352, DD2350, DD2352, DD2354.