
Träd och grafer
Undersökning av icke-linjära datastrukturer som binära sökträd och grafer. Eleverna lär sig om traversering och nätverksrepresentation.
Kort sammanfattning:Träd och grafer tar oss från linjära strukturer till nätverk och hierarkier. Binära sökträd är centrala för att förstå hur datorer snabbt kan hitta information i stora databaser, medan grafer är oumbärliga för att modellera allt från sociala nätverk till rutter i GPS-appar. Detta moment tränar elevernas förmåga att tänka i flera dimensioner.
Om detta ämne
Träd och grafer tar oss från linjära strukturer till nätverk och hierarkier. Binära sökträd är centrala för att förstå hur datorer snabbt kan hitta information i stora databaser, medan grafer är oumbärliga för att modellera allt från sociala nätverk till rutter i GPS-appar. Detta moment tränar elevernas förmåga att tänka i flera dimensioner.
I kursen Datalogi lär vi oss hur man navigerar (traverserar) i dessa strukturer. Vi tittar på begrepp som noder, kanter och rötter. Att förstå hur en sökning i ett balanserat träd kan vara extremt snabb jämfört med en lista är en av de viktigaste insikterna för en blivande programmerare.
Eleverna förstår dessa komplexa nätverk bäst när de får rita upp dem, bygga dem fysiskt med snören eller samarbeta för att hitta den kortaste vägen i en mänsklig graf.
Nyckelfrågor
- Vad kännetecknar ett binärt sökträd?
- Hur kan grafer representera sociala nätverk?
- Vilka traverseringsmetoder finns för träd?
Se upp för dessa missuppfattningar
Vanlig missuppfattningAtt ett träd och en graf är samma sak.
Vad man ska lära ut istället
Förklara att ett träd är en speciell typ av graf utan cykler och med en rot. Genom att rita exempel på grafer med cirklar ser eleverna när en struktur slutar vara ett träd.
Vanlig missuppfattningAtt binära träd alltid är snabba.
Vad man ska lära ut istället
Visa vad som händer om man lägger in tal i storleksordning (trädet blir en lång lista). Diskussioner om 'balanserade träd' hjälper eleverna att förstå vikten av trädets form.
Idéer för aktivt lärande
Se alla aktiviteter→Utforskande cirkel
Det mänskliga nätverket
Eleverna skapar en graf i klassrummet genom att hålla i snören som representerar kopplingar (kanter) mellan varandra (noder). De ska sedan försöka skicka ett meddelande från en sida till en annan med så få hopp som möjligt.
Simuleringsövning
Bygg ett binärt sökträd
Eleverna får lappar med slumpmässiga tal och ska ställa sig i en trädformation. Varje ny elev måste jämföra sitt tal med 'roten' och gå till vänster eller höger tills de hittar sin plats. Detta visar hur trädet växer och hur sökning fungerar.
EPA (Enskilt-Par-Alla)
Sociala grafer
Eleverna analyserar hur en plattform som LinkedIn eller Facebook använder grafer för att föreslå 'vänner du kanske känner'. De diskuterar i par hur algoritmen kan hitta kopplingar i andra eller tredje led.
Vanliga frågor
Varför är grafer så viktiga i modern datalogi?
Hur kan studentcentrerat lärande hjälpa vid undervisning om träd?
Vad är traversering och varför finns det olika sätt?
Behöver eleverna kunna koda en graf från grunden?
Mer i Datastrukturer
Listor och arrayer
Studie av linjära datastrukturer som arrayer och länkade listor. Eleverna undersöker hur data lagras i minnet och hur man itererar över dem.
8 methodologies
Stackar och köer
Introduktion till LIFO- och FIFO-principerna genom stackar och köer. Praktiska tillämpningar som ångra-funktioner och utskriftsköer diskuteras.
8 methodologies