Datastructuren: Binary tree

Datastructuren
Binary tree
1 / 19
suivant
Slide 1: Diapositive
InformaticaMiddelbare schoolhavo, vwoLeerjaar 4-6

Cette leçon contient 19 diapositives, avec quiz interactifs et diapositives de texte.

time-iconLa durée de la leçon est: 50 min

Éléments de cette leçon

Datastructuren
Binary tree

Slide 1 - Diapositive

Leerdoel
Aan het eind van de les ken je de kenmerken van een binary tree en kan je een binary tree opbouwen aan de hand van een lijst met elementen.

Slide 2 - Diapositive

Omschrijf kort de werking van een stack
timer
1:00

Slide 3 - Question ouverte

Wat wordt er bedoeld met het LIFO principe?
timer
1:00

Slide 4 - Question ouverte

Geef de C# code voor de declaratie van een stack met het label "mijnStack".
timer
2:00

Slide 5 - Question ouverte

Bekijk onderstaande C# code. Geef de juiste C# code voor het toevoegen van een element aan deze stack met de waarde "product 1".
Stack mijnStack = new Stack();
timer
2:00

Slide 6 - Question ouverte


Bekijk de C# code. Wat is de uitvoer van het programma?
Stack mijnStack = new Stack();

mijnStack.Push("Koe"); 
mijnStack.Push("Varken");
mijnStack.Push("Kip");

Console.WriteLine(mijnStack.Pop());
A
Koe
B
Varken
C
Kip
D
Niets

Slide 7 - Quiz

Binary tree
Tot nu toe hebben we datastructuren gezien die visueel erg lijken op lijsten. Er bestaan echter ook andere datastructuren. Een daarvan is een binary tree.

Slide 8 - Diapositive

Binary tree
Een binary tree ziet er visueel ook uit als een soort boom.

werking
Het eerste, bovenste element wordt het root-element genoemd. De andere elementen worden nodes genoemd: de takken van de boom. Een node zonder sub-nodes wordt ook wel een blaadje (leaf) genoemd.

Slide 9 - Diapositive

Binary tree

Slide 10 - Diapositive

Opbouw binary tree
Een binary tree wordt op de volgende manier opgebouwd:

Het begint met een root-node. Deze staat bovenaan. Iedere node bestaat zelf weer uit 
0, 1 of 2 nodes.

Bij het vullen van de binary tree geldt de volgende voorwaarde: Controleer of het getal kleiner of groter is dan de node. Is deze kleiner dan komt deze links van de node te staan, is deze groter dan komt deze rechts van de node te staan.

Slide 11 - Diapositive

Voorbeeld
Neem deze lijst met elementen: 
6 - 4 - 5 - 8 - 7 - 3 - 9

Slide 12 - Diapositive

Oefenen (1)
Neem deze lijst met elementen: 
5 - 4 - 6 - 1 - 2 - 9 - 3 - 7 - 8

Maak de bijbehorende Binary Tree.

Slide 13 - Diapositive

Oefenen (2)
Neem deze lijst met elementen: 
25 - 44 - 21 - 75 - 34 - 49 - 51 - 34

Maak de bijbehorende Binary Tree.

Slide 14 - Diapositive

Boom in balans
Hoe meer een Binary Tree in balans is, hoe efficienter deze is.

Slide 15 - Diapositive

Boom in balans
Vuistregel om te bepalen on een Binary Tree in balans is:

  1. De nodes mogen maximaal 1 hoogte van elkaar verschillen
  2. De linker subtree is in balans
  3. De rechter subtree is in balans

Slide 16 - Diapositive

Oefenen (3)
Neem deze lijst met elementen: 
34 - 21 - 36 - 41 - 53 - 44 - 32 - 38 - 39 - 27

Maak de bijbehorende Binary Tree. Is de Binary Tree in balans?

Slide 17 - Diapositive

Zelfde getallen
Bevat een Binary Tree dezelfde getallen? Hanteer dan het volgende uitgangspunt:

Alle waarden aan de linkerkant van een node zijn kleiner dan of gelijk aan de node. Alle waarden aan de rechterkant van een node zijn groter dan of gelijk aan de node. 

Slide 18 - Diapositive

Oefenen (4)
Neem deze lijst met elementen: 
5 - 6 - 6 - 3 - 3 - 2 - 7 - 8

Maak de bijbehorende Binary Tree.

Slide 19 - Diapositive