Datastructuren: Binary tree

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

This lesson contains 19 slides, with interactive quizzes and text slides.

time-iconLesson duration is: 50 min

Items in this lesson

Datastructuren
Binary tree

Slide 1 - Slide

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 - Slide

Omschrijf kort de werking van een stack
timer
1:00

Slide 3 - Open question

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

Slide 4 - Open question

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

Slide 5 - Open question

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 - Open question


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 - Slide

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 - Slide

Binary tree

Slide 10 - Slide

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 - Slide

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

Slide 12 - Slide

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

Maak de bijbehorende Binary Tree.

Slide 13 - Slide

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

Maak de bijbehorende Binary Tree.

Slide 14 - Slide

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

Slide 15 - Slide

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 - Slide

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 - Slide

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 - Slide

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

Maak de bijbehorende Binary Tree.

Slide 19 - Slide