Kmom04: Datastrukturer

By . Latest revision .

I det här kursmomentet övar vi oss på datastrukturer och felhantering med exceptions. En datastruktur är en struktur för organisering av datan.

Vi ska titta närmare på några av de vanligaste datastrukturerna och hur de fungerar. Vi avslutar med att skapa egna strukturer.

Exceptions hjälper oss med att få reda på vad som gått fel. Det finns en hel del inbyggda exceptions som vi säkert stött på tidigare. Nu ska vi se hur vi skapar egna exceptions och på så sätt ta ett steg till mot att ha full kontroll över hur programmet ska fungera.

(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

(ca: 8-10 studietimmar)

#Kurslitteratur

Läs följande:

Python 3 Object-oriented Programming
* Ch 4 - Expecting the unexpected
* Ch 6 - Python Data Structures

#Artiklar

Läs följande:

Det finns inga extra artiklar.

#Video

Titta på följande:

  1. Linked lists visualiserar en Linked list.

  2. Data Structures: Queue visualiserar en Queue.

  3. Data Structures: Stack visualiserar en Stack.

#Lästips

Om du känner att du har tid och lust.

  1. kolla på CS50 - Data structures, från tidsstämpeln fram till 28:15. Väldigt lärorik video, men de kan använda termer ni inte känner igen för de jobbar i C.

  2. Datastructures - geeksforgeeks

  3. Kolla på Abstract Data Type (ADT)

#Övningar & Uppgifter

(ca: 8-10 studietimmar)

#Övningar

Genomför följande övning för att träna dig.

  1. Läs artikeln “Exceptions”.

  2. Läs igenom artikeln “Datastrukturer”.

#Uppgifter

Dessa uppgifter skall utföras och redovisas.

  1. Gör uppgiften “Skapa queue”. Spara din kod i mappen queue.

  2. Gör uppgiften “Skapa lista”. Spara din kod i mappen list.

  3. Fyll på redovisning.html med kursmomentets redovisningstext.

# Ställ dig i kurskatalogen
dbwebb publish flask

#Extra

Det finns inga extrauppgifter.

#Resultat & Redovisning

(ca: 1-2 studietimmar)

Läs instruktionen om hur du skall redovisa.

Se till att följande frågor besvaras i redovisningstexten.

  • Har du skapat egna datastrukturer förut?
  • Vilken typ av lista valde du att göra och varför?
  • Vilka exceptions skapade du? Hur gör man för att de ska kastas i listan?
  • Gjorde du någon extrauppgiften?
  • Vad är en länkad lista kontra en array?
  • Gick det bra att komma i gång med kursmomentet, var det lagom, för litet, för stort?

#Revision history

  • 2018-01-25: (A, lew) First version.

Document source.

Category: oopython.