Datastrukturer och algoritmer ELA18PR01-3003 07.03.2022-01.05.2022
3 sp(ELA20D-V)+-
Studieperiodens (kursens) lärandemål
Kursen skall ge den studerande grundläggande färdigheter om datastrukturer, deras abstraktioner samt tillhörande algoritmer. Kursen innehåller teoretiska kunskaper som behövs för att utveckla och implementera effektiva och stabila programmeringslösningar.
Förkunskapskrav
Kursen Grunderna i programmering
Studieperiodens (kursens) innehåll
Kursen skall ge den studerande grundläggande färdigheter om datastrukturer, deras abstraktioner samt tillhörande algoritmer. Kursen innehåller teoretiska kunskaper som behövs för att utveckla och implementera effektiva och stabila programmeringslösningar.
1. Introduktion, datastrukturer, algoritmer och abstraktion.
2. Tidskomplexitet
3. Standard Template Library (STL) koncept
4. Linjära listor
5. Sökningsalgoritmer för linjära listor
6. Hash tabeller
7. Rekursion
8. Sortering
9. Trädstrukturer och grafer
Förstå sig på begreppet och kunna rangordna vanliga komplexitetsmått samt härleda dessa från enkla programkonstruktioner.
Förstå begreppet datastruktur och algoritm.
Bedömningskriterier - goda-synnerligen goda (3-4)
Kunna härleda komplexitet från mera komplexa program och algoritmer, samt utföra mätningar experimentellt.
Förstå kopplingen datastruktur-algoritm, hur valet av den ena delvis eller helt bestämmer valet av den andra, samt hur kombinationen av de två inverkar på tids- och rumskomplexitet.
Bedömningskriterier - berömliga (5)
Förstå sig på hur man väljer bland olika lösningar och implementerar optimal lösning med beaktande av föreliggande problem.
Kunna välj bland ett brett sortiment av datastrukturer och algoritmer. Kunna hitta och använda implementationer av dessa i standard bibliotek, samt ha goda färdigheter i att själv implementera dessa vid behov, på ett effektivt och välstrukturerat sätt.