Algoritmer och datastrukturer I
Kursplan, Grundnivå, 1DL210
- Kod
- 1DL210
- Utbildningsnivå
- Grundnivå
- Huvudområde(n) med fördjupning
- Datavetenskap G1F, Teknik G1F
- Betygsskala
- Med beröm godkänd (5), Icke utan beröm godkänd (4), Godkänd (3), Underkänd (U)
- Fastställd av
- Teknisk-naturvetenskapliga fakultetsnämnden, 3 november 2008
- Ansvarig institution
- Institutionen för informationsteknologi
Behörighetskrav
10 hp i programmering (Programkonstruktion 1DL200, Programmeringsteknik II eller motsvarande)
10 hp i matematik, inkl. grundläggande algebra.
Mål
För godkänt betyg ska studenten kunna
- analysera körtiden för en (enkel) algoritm/program i relation till indatats storlek, i bästa, sämsta, och genomsnittliga fall,
- besvara frågor för att utvärdera algoritm/program: vad händer med körtiden om indata blir dubbelt så stor? Vilka algoritmer/program ska man välja bland olika alternativ för samma specifikation? Med vilka datastrukturer ska man implementera en algoritm, med tanke på operationerna (lägga till, ändra, ta bort, söka, sortera) på datat. Spelar det någon roll (för stora indata) att byta ut en del av algoritmen/programmet mot ett annat?
- i detalj ange antaganden som ligger till grund för denna analys.
- analysera körtiden för operationerna (lägga till, ändra, ta bort, söka, sortera) för vanliga datastrukturer (listor, arrayer, köer, prioritetsköer, stackar, träd, och heaps).
- förklara fördelar och nackdelar med "giriga algoritmer" (som gör lokalt optimala val utan att ångra sig) för optimeringsproblem som generellt kräver för lång körtid för vanliga indata.
Innehåll
Matematiska grunder: asymptotisk notation,
summationer, rekursionsformler.
Datastrukturer: stackar, köer, träd, prioritetsköer, "heaps". Sökmetoder: binära sökträd, balanserade sökträd, hashtabeller.
Sorteringsmetoder. Enkla grafalgoritmer och "giriga algoritmer". Implementering av algoritmer och datastrukturer.
Undervisning
Föreläsningar, lektioner, laborationer och
obligatoriska inlämningsuppgifter.
Examination
Skriftligt prov (4 hp) samt inlämningsuppgifter (1 hp).
Övriga föreskrifter
Kursen kan inte räknas in i examen med Programkonstruktion II (1IT022) eller
Datastrukturer MN1 (1DL009, 1TD191, 1MB026).
Litteraturlista
- Litteraturlista giltig från och med höstterminen 2025
- Litteraturlista giltig från och med höstterminen 2022
- Litteraturlista giltig från och med höstterminen 2019
- Litteraturlista giltig från och med höstterminen 2017
- Litteraturlista giltig från och med höstterminen 2009
- Litteraturlista giltig från och med höstterminen 2007