Professional Documents
Culture Documents
8 - 5.stabla
8 - 5.stabla
Nelinearne strukture
5. Stabla
5.a) opća stabla
5.b) binarna stabla
- poredana binarna stabla
- proširena binarna stabla
- Huffmanova stabla
- potpuna binarna stabla
- hrpe
5.a) Opće stablo
Stablo je hijerarhijska struktura koja se sastoji od
čvorova i grana. Čvorovi su “točke” (ili kružići u
grafičkom prikazu), koji su spojeni dužinama koje se
nazivaju granama.
a b c
d
e j k
f g h i
l m n o
Vrste općih stabala
Stabla mogu biti uređena i neuređena.
Kod uređenih stabala redoslijed podređenih čvorova je
bitan, a kod neuređenih taj redoslijed nije bitan.
Poseban slučaj uređenog općeg stabla je okta-stablo.
Koristi se u 3D računalnoj grafici.
Prikaz u računalu
...
b
N
...
...
...
Binarno stablo pomoću dinamičke
strukture (1/2)
Osnovni element dinamčke strukture za prikaz binarnog
stabla sastojao bi se od tri podelementa:
x - vrijednost čvora (bilo koji tip podataka)
lijevi - memorijska adresa gdje je lijevi nasljednik
desni - memorijska adresa gdje je desni nasljednik
x - dio s podacima
lijevi
desni
R
LND (inorder) obilazak za
a b
stablo na slici glasi:
c e
f d f, c, a, d, R, b, g, e, h
g h
Obilazak LDN rekurzijom
Ovaj put ćemo opet upotrijebiti dinamički prikaz stabla u memoriji.
Postorder obilazak ima naredbu za ispis u trećoj liniji funkcije.
Algoritam procedure LDN( cvor )
Ako je cvor.lijevi NULL onda pozovi LDN( cvor.lijevi )
Ako je cvor.desni NULL onda pozovi LDN( cvor.desni )
Ispisati cvor.x
R
LDN (postorder) obilazak
a b
za stablo na slici glasi:
c e
f d f, c, d, a, g, h, e, b, R
g h