Kurslitteratur
Kursbok
Miller&Ranum, Problem Solving with Algorithms and Data Structures Using Python (valfri upplaga)
Boken har använts i datalogikurser på flera program och kan köpas i kårbokhandeln eller begagnad . Här finns en erratalista.
OBS! Boken finns också i en utmärkt interaktiv version! Men den innehåller inte allt som den tryckta boken gör, och går inte att ta med på tentan.
Alternativ kursbok
Goodrich har skrivit bra böcker om datastrukturer och algoritmer. Jag har tidigare använt Data Structures and Algorithms in Java. För några år sedan gav han ut Data Structures and Algorithms in Python.
Cormens bok Introduction to Algorithms var länge kursbok på fortsättningskursen ADK och kan upplevas svår för denna kurs. Cormen har en annan bok Algorithms unlocked som är lättare att läsa och täcker mycket av kursmaterialet. Cormen använder inget specifikt programmeringsspråk utan skriver i pseudokod (exempelvis skriver han set i to j istället för som i python i = j).
Läsanvisningar
interactive version | ||
---|---|---|
Introduktion till kursen | kap 1 (utom 1.4.4.2) | Introduction |
Abstrakta datatyper | kap 2 och 7.2 | Basic Data Structures |
Binära träd, rekursion | kap 5.1-5.6 (men vänta med 5.5.1) och 3.2.3 | Trees and Tree Algorithms |
Komplexitetsanalys, sökning | kap 3 (men vänta med 3.4.3) och 4.1-4.3.2 | Analysis |
Problemträd | kap 6.1-6.4.2 | Graphs and Graph Algorithms |
Hashning | kap 4.3.3 | Sorting and Searching |
Sortering | kap 4.4 | Sorting and Searching |
Prioritetskö, trappa (heap) | kap 5.7, 6.4.5 | Trees and Tree Algorithms |
Automater, textsökning | kap 7.6 | - |
Syntax, rekursiv medåkning | kap 5.5.1 | Parse Tree |
Datakomprimering | kap 7.5 | - |
Kryptering | kap 3.4.3 | - |
Testning, andra programspråk |
Boken innehåller det mesta som ingår i kursen. Det som saknas är syntaxanalys (även om avsnitt 5.5.1 handlar om besläktade saker) och testning.