Een boom is niet ingebouwd als datastructuur in Python. We definiëren zelf een klasse om binaire bomen voor te stellen.
đź‘€ Voorbeeld - Binaire boom modelleren
Een binaire boom modelleren we aan de hand van zijn interne knopen en bladeren. Dit kan op verschillende manieren maar bijvoorbeeld ook aan de hand van een klasse
Internen een klasseBlad.Elke interne knoop heeft twee kindknopen links en rechts, en een waarde op de knoop (waard). Deze attributen zullen zelf van het type
knoopzijn (dus geen strings, lists, of ints).class Intern: def __init__(self,waarde,links,rechts): self.waarde = waarde self.links = links self.rechts = rechtsEen blad heeft geen kindknopen maar wel een waarde.
class Blad: def __init__(self,waarde): self.waarde = waarde
đź’» Programmeeroefening - Een boom van jullie klassen
- Kopieer de klassen
InternenBladin de editor hieronder.- Maak twee objecten van het type
Bladaan, met als respectievelijke waarden “5WEWI” en “5LAWI”- Maak een object van het type
Knoopaan, met als waarde “klassen informaticawetenschappen”. Als links en rechts gebruik je de net aangemaakte blad-objecten, in alfabetische volgorde van links naar rechts.- Vertrek van het knoop-object om de waarden van de twee blad-objecten onder elkaar te printen, alfabetisch.