Algoritmer och datastrukturer I

5 hp

Kursplan, Grundnivå, 1DL210

Det finns en senare version av kursplanen.
Kod
1DL210
Utbildningsnivå
Grundnivå
Huvudområde(n) med fördjupning
Datavetenskap G1F, Teknik G1F
Betygsskala
Med beröm godkänd, icke utan beröm godkänd, godkänd, underkänd
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).

FÖLJ UPPSALA UNIVERSITET PÅ

facebook
instagram
twitter
youtube
linkedin