analysera tids- och rumskomplexitet hos iterativa och enkla rekursiva algoritmer
redogöra för och använda abstrakta datatyper och sorteringsalgoritmer
implementera abstrakta datatyper och resonera kring implementationsalternativ för val av datastruktur och algoritm
Kursinnehåll
Föreläsningarna behandlar datastrukturerna och algoritmerna ur en principiell synvinkel med utgångspunkt från konkreta exempel. De datastrukturer som tas upp är listor, stackar, köer, grafer, speciella träd och hashtabeller och där ingår även algoritmer för att operera på dessa datastrukturer. De generella algoritmer som tas upp avser sökning och sortering. Enklare analys med avseende på datastrukturernas och algoritmernas resursbehov i form av tid och utrymme ingår. Lektionerna används i viss mån för förberedelse till laborationerna men främst för att lösa övningsexempel avseende datastrukturer och algoritmer och är i den aspekten tentamensförberedande. Laborationerna utgörs av en uppsättning mindre programmeringsuppgifter.
Förutsättningar
Grundkurs i programmering i C++
Litteratur
Kursspecifik version av OpenDSA.
Laborationskompendium och annat material finns på kursens webbsidor