Skip to content
Linjära och icke-linjära datastrukturer
Datalogi · Gymnasiet 3 · Algoritmer och Datastrukturer · 1.º Período

Linjära och icke-linjära datastrukturer

Undersökning av listor, köer, stackar, träd och grafer. Hur valet av datastruktur påverkar programmets prestanda.

Kort sammanfattning:Detta ämne fokuserar på hur vi organiserar data för att skapa effektiva program. Eleverna utforskar skillnaden mellan linjära strukturer som listor och köer, och icke-linjära strukturer som träd och grafer. I kursen Datalogi är detta fundamentalt för att förstå hur mjukvara kan hantera stora mängder information utan att bli långsam eller resurskrävande. Vi kopplar här samman teori om abstrakta datatyper med praktisk implementering.

Skolverket KursplanerSkolverket DAODAT01: Centralt innehåll - DatastrukturerSkolverket DAODAT01: Kunskapskrav A - Välja och motivera datastrukturer

Om detta ämne

Detta ämne fokuserar på hur vi organiserar data för att skapa effektiva program. Eleverna utforskar skillnaden mellan linjära strukturer som listor och köer, och icke-linjära strukturer som träd och grafer. I kursen Datalogi är detta fundamentalt för att förstå hur mjukvara kan hantera stora mängder information utan att bli långsam eller resurskrävande. Vi kopplar här samman teori om abstrakta datatyper med praktisk implementering.

Genom att analysera prestanda utifrån val av struktur får eleverna en djupare förståelse för systemdesign. Det handlar inte bara om att koda, utan om att göra strategiska val som påverkar slutresultatet. Detta ämne blir som mest begripligt när eleverna får visualisera och fysiskt modellera hur data flödar genom de olika strukturerna i samarbete med andra.

Nyckelfrågor

  1. Vilka för- och nackdelar har olika datastrukturer?
  2. Hur implementeras ett binärt sökträd?
  3. När bör man använda en graf istället för ett träd?

Se upp för dessa missuppfattningar

Vanlig missuppfattningAtt en länkad lista alltid är bättre än en array för att den är dynamisk.

Vad man ska lära ut istället

Länkade listor har overhead för pekare och saknar direktåtkomst via index. Genom att låta eleverna klocka sökningar i båda strukturerna upptäcker de snabbt när arrayens indexering vinner.

Vanlig missuppfattningAtt träd och grafer är samma sak.

Vad man ska lära ut istället

Ett träd är en specialiserad graf utan cykler. Genom att rita grafer med cykler och be eleverna försöka traversera dem som träd blir skillnaden i logik tydlig.

Idéer för aktivt lärande

Se alla aktiviteter

Vanliga frågor

Varför är datastrukturer viktiga i gymnasiekursen Datalogi?
Enligt Skolverkets kursplan ska eleverna kunna välja och motivera datastrukturer för att lösa problem effektivt. Det är steget från att bara skriva kod till att förstå systemarkitektur och optimering, vilket krävs för högre betyg.
Vilka datastrukturer är viktigast att fokusera på?
Fokus bör ligga på listor, stackar, köer och binära sökträd. Grafer är också centrala för att förstå moderna nätverk och sociala medier, vilket ofta intresserar eleverna extra mycket.
Hur kan aktivt lärande hjälpa eleverna att förstå abstrakta datastrukturer?
Abstrakta begrepp blir konkreta när eleverna får bygga dem fysiskt eller simulera dem genom rollspel. Genom att agera noder i en länkad lista eller ett träd förstår de hur referenser och pekare fungerar på ett sätt som en föreläsning sällan förmedlar.
Behöver eleverna kunna implementera alla dessa från grunden?
Ja, för de högre betygsstegen krävs ofta att eleven kan implementera och förklara logiken bakom till exempel ett binärt sökträd, snarare än att bara använda inbyggda bibliotek.
Edited by Adriana Perusin, Editor-in-Chief, Flip Education