Kmom05: Sorteringsalgoritmer och datastrukturer
Vi ska titta på hur några av de vanligaste sorteringsalgoritmerna ser ut och fungerar. Samtidigt ska vi lära oss hur man skriver rekursiva funktioner.
(Detta är instruktionen för kursmomentet och omfattar det som skall göras inom ramen för kursmomentet. Momentet omfattar cirka 20 studietimmar inklusive läsning, arbete med övningar och uppgifter, felsökning, problemlösning, redovisning och eftertanke. Läs igenom hela kursmomentet innan du börjar jobba. Om möjligt – planera och prioritera var du vill lägga tiden.)
#Läsanvisningar
- Sorting algorithms and big-O. Visar inte kod men men visualiserar och förklarar bra hur sorterings algoritmerna fungerar.
#Kurslitteratur
Läs följande:
#Artiklar
Läs följande:
visualgo. Interaktiv sida som visualiserar hur tal sorteras och även pseudo kod för olika algoritmer.
Python thinking recursively. Intressant artikel som pratar om hur rekursion fungerar i Python.
#Video
Titta på följande:
Videoserien Lär dig objektorienterad Python är tätt kopplat till kursmaterialet. Kika på de videor som börjar med 5.
CS50 Algorithms kolla från tidstämpel fram till 55 min.
What on Earth is Recursion? förklarar rekursion.
Getting sorted visualiserar olika sorteringsalgoritmer och går igenom komplexitet.
#Lästips
Om du känner att du har tid och lust.
#Övningar & Uppgifter
(ca: 8-10 studietimmar)
#Övningar
Genomför följande övning för att träna dig.
Läs igenom artikeln “Rekursion”.
Läs igenom artikeln “Klassiska sorteringsalgoritmer”.
#Uppgifter
Dessa uppgifter skall utföras och redovisas.
Gör uppgiften “Python med rekursiva funktioner” (lab 3)
Gör uppgiften “Terminalprogram med sortering av lista”. Spara din kod i mappen
sort
.
# Ställ dig i kurskatalogen
dbwebb publish kmom05
#Extra
Det finns inga extrauppgifter.
#Lämna in
Läs Lämna in och redovisa uppgift för att ta reda på hur ni lämna in era uppgifter när ni är klara.
#Revision history
- 2018-01-31: (A, aar) Första version v2.
- 2017-11-10: (PF1, mos) Utkast till v2.