Skip to content
Datalogi · Gymnasiet 2

Idéer för aktivt lärande

Listor och arrayer

Listor och arrayer är de mest grundläggande sätten att organisera data i datorns minne. I den här delen av kursen undersöker vi hur dessa strukturer skiljer sig åt tekniskt, särskilt när det gäller minnesallokering och åtkomsttid. Eleverna får lära sig att en array har en fast storlek och snabb åtkomst, medan länkade listor erbjuder flexibilitet på bekostnad av sökbarhet.

Skolverket KursplanerDAODAT0 - 1. Algoritmer och datastrukturerDAODAT0 - 3. Programkonstruktion
15–40 minPar → Hela klassen3 aktiviteter

Aktivitet 01

Simuleringsövning25 min · Hela klassen

Simuleringsövning: Den mänskliga länkade listan

Varje elev agerar en 'nod' som håller ett värde och en lapp med namnet på nästa person i listan. Genom att fysiskt flytta på sig eller ändra sina lappar simulerar de hur element läggs till eller tas bort utan att flytta på hela gruppen.

Vad är skillnaden mellan en array och en länkad lista?
TillämpaAnalyseraUtvärderaSkapaSocial MedvetenhetBeslutsfattande
Skapa en komplett lektion

Aktivitet 02

Utforskande cirkel40 min · Smågrupper

Utforskande cirkel: Array vs Lista

I små grupper får eleverna i uppdrag att implementera en enkel telefonbok. De ska testa att lägga till kontakter i mitten av en array respektive en länkad lista och räkna hur många 'steg' eller flyttar som krävs i varje fall.

Hur hanteras minnesallokering för listor?
AnalyseraUtvärderaSkapaSjälvregleringSjälvkännedom
Skapa en komplett lektion

Aktivitet 03

EPA (Enskilt-Par-Alla): Minnespusslet

Eleverna får ett scenario där de ska lagra data för en sensor som skickar värden varje sekund. De diskuterar i par om en array eller en länkad lista är bäst lämpad baserat på hur datan ska användas och delas sedan med klassen.

När är en array det bästa valet?
FörståTillämpaAnalyseraSjälvkännedomRelationsförmåga
Skapa en komplett lektion

Några anteckningar om att undervisa detta avsnitt


Se upp för dessa missuppfattningar

  • Att listor i Python fungerar exakt som arrayer i C++ eller Java.

    Förklara att Python-listor är mer komplexa objekt (dynamiska arrayer). Genom att diskutera minneshantering på låg nivå förstår eleverna varför 'enkla' operationer ibland kan vara långsamma.

  • Att länkade listor alltid är bättre för att de kan växa.

    Visa att sökning i en länkad lista kräver att man går igenom varje element. Genom att jämföra 'indexering' i båda strukturerna ser eleverna arrayens fördel vid direktåtkomst.


Metoder som används i denna översikt