Noter til Binære Træer
Beskrivelse
Ikke-lineær datastruktur med 'knuder' som kan have højest to 'børn'.
Implementeres som objekt bestående af selv-refererende objekter (med referencer til 'børnene').
Anvendelse
Evaluering af aritmetiske udtryk
Syntaktisk og semantisk analyse i kompilere
Metode: træet skabes og verificeres herefter vha. traverseringsmetode
Binære søgetræer
Begreber
Node (knude)
Fællesbetegnelse for alle træets elementer
Edge (kant)
Forbindelse (reference) mellem noder
Root (rod)
Træets begyndelse/omdrejningspunkt
Parent (forælder
Node, som har mindst ét barn
Child (barn
Node, som ikke er rod
Siblings (søskende)
Noder med samme forælder
Ancestor (forfader)
Forælder, bedsteforælder, oldeforælder etc.
Descendant (efterkommer)
Barn, barnebarn, oldebarn etc.
Leaf (blad)
Træets nederste niveau (har ingen børn)
Internal node (intern knude)
Node, som hverken er rod eller blad
Path (sti)
Den korteste sekvens af kanter fra en node til en forfader
Level (niveau)
Afstanden (stien) fra noden til roden
Height (højde)
Node: længste afstand til blad - rodens højde = træets højde
Subtree (subtræ)
Det træ, som består af en node og dens efterkommere
Balanced tree (balanceret træ)
Længste <= korteste sti fra rod til blad + 1
Complete tree (komplet træ)
Træ hvor alle interne noder har to børn
Full tree (fuldt træ)
Et komplet træ uden niveauforskelle
Degree (graden)
Det maksimale antal børn pr node (binært træ: 2)
Traverseringsmetoder
Hver node besøges før børnene besøges. Altså først noden, herefter dens venstre subtræ og til sidst dens højre subtræ
Inorder
Hver node besøges efter at alle noder i venstre subtræ er besøgt og før alle noder i højre subtræ besøges.
Postorder
Hver node besøges efter dets venstre subtræ og højre subtræ er besøgt,
dvs. roden besøges tilsidst.
Levelorder
Alle noder på samme niveau besøges i rækkefølge fra venstre til højre. Herefter næste niveau. Der startes med roden.
Fra Ole Dolriis, 14. februar 2000