Datastructuren en algoritmen
De waarden 50, 30, 70, 20, 40, 60, 80 worden in deze volgorde ingevoegd in een lege binaire zoekboom. In welke volgorde worden de knopen bezocht als de boom in post-order wordt doorlopen (eerst de linkerdeelboom, dan de rechterdeelboom, dan de knoop zelf)?
- A50, 30, 20, 40, 70, 60, 80
- B20, 40, 30, 60, 80, 70, 50
- C20, 30, 40, 50, 60, 70, 80
Antwoord en toelichting tonen
Antwoord: B. 20, 40, 30, 60, 80, 70, 50
De wortel is 50; het linkerkind is 30 (met kinderen 20 en 40) en het rechterkind is 70 (met kinderen 60 en 80). Post-order bezoekt de linkerdeelboom als 20, 40, 30 en de rechterdeelboom als 60, 80, 70, en pas daarna de wortel 50. 50, 30, 20, 40, 70, 60, 80 is het resultaat van pre-order, dat elke knoop als eerste bezoekt, en 20, 30, 40, … dat van in-order. Post-order wordt gebruikt als kinderen eerst moeten worden verwerkt, bijvoorbeeld bij het verwijderen van een boom of bij het maken van postfixnotatie uit een expressieboom.