Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

STRUKTURE PODATAKA

LETNJI SEMESTAR

STABLA
(TREES)

Prof. Dr Leonid Stoimenov


Katedra za računarstvo
Elektronski fakultet u Nišu
SADRŽAJ
Danas:
 Uvod
 Definicija
 Termini

Naredna predavanja:
 Binarna stabla
 Opšta stabla
 N-arna stabla
2
UVOD
 U računarstvu, stablo je apstraktni model za
hijerarhijsku strukturu
 To je najznačajnija nelinearna struktura podataka
 Sastoji se od čvorova koji su u relaciji roditelj-
dete
 Primene:
 Organizacione karte (npr. organizacija
univerziteta – desno)
 Fajl sistemi
 Baze podataka Univerzitet
 GUI
 Web sajtovi Fakultet 1 Fakultet 2 Fakultet 3

 Okruženja za programiranje
Katedra 1 Katedra 2 Katedra 3
3

Laboratorija 1 Laboratorija 2
FORMALNA DEFINICIJA STABLA
 Stablo (engl. root) T je konačan,
neprazan skup čvorova sa sledećim
svojstvima:
1. Jedan čvor je koren (engl. root)
stabla
2. Ostali čvorovi su podeljeni u n≥0
podskupova od kojih je svaki stablo

 Ova definicija je rekurzivna


 Svi čvorovi su isti, jedino se koren
“razlikuje”
 Svaki čvor predstavlja koren podstabla
 Stablo ima bar jedan čvor – to je koren 4
PRIMERI STABLA
Stablo S1 Stablo S3
Koren
D stabla S3
A
Koren
E G podstabla
Stablo S2 T2

B F H J M
Koren
podstabla T1
C I K L

Podstablo T2

5
TERMINI (1)
 Stablo T je skup čvorova koji memorišu
elemente u relaciji roditelj-dete sa
sledećim svojstvima:
 T ima specijalan čvor r, koji se naziva koren
stabla T, koji nema roditeljski čvor
 Svaki čvor v (v≠r) stabla T ima jedinstven
roditeljski čvor u
 Prema ovoj definiciji stablo ne može biti
prazno, pošto mora imati bar jedan čvor
(koren)

6
TERMINI (2)
D
 Braća ili sestre (siblings): Čvorovi koji
imaju istog roditelja
E G
 (H,J,M), (K,L), (E,G) su sestre
 Stepen čvora: broj podstabala
pridruženih čvoru ili broj dece čvora F H J M
 stepen čvora G je 3, čvora J je 2, a čvora F je 0
I K L
 Koren: čvor bez roditelja
 za stablo desno je D
D
 Eksterni čvor (terminalni čvor, list):
Čvor stepena 0 ili čvor bez dece
E G
 čvorovi F,I,K,L,M
 Interni čvor: Čvor bar sa 1 detetom F M
H J
 čvorovi D,E,G,H,J,M
 Na slici desno dole eksterni čvorovi su I K7 L
predstavljeni kvadratićima, a interni kružićima
TERMINI (3)
 Put u stablu T je neprazna sekvenca čvorova
P={c1,c2,…,ck} gde je i-ti čvor u sekvenci roditelj nivo Stablo S3
(i+1)–vog čvora 0 dubina
D
 Dužina puta P je k-1, tj. broj grana na putu
 P1 = {D,G,H,I} je put dužine 3
1
 P2 = {H,I} je put dužine 1
E G
 Dubina ili nivo čvora v je dužina jedinstvenog
puta od korena do čvora v 2
 dubina čvora D je 0; čvorova E i G je 1; čvorova F H J M
F,H,J,M je 2; čvorova I,K,L je 3
 Visina čvora v je dužina najdužeg puta od čvora 3 visina
v do lista I K L
 čvorovi F,I,K,L,M su listovi i imaju visinu 0 Podstablo G
 čvorovi E,H,J su na visini 1, G na visini 2, a D na
visini 3 Put 1: {D,E,F}
 Visina stabla je visina korena stabla, odnosno Put 2: {D,G,H,I}
dužina najdužeg puta od korena do bilo kog lista, Put 3: {D,G,J,l}
odnosno max dubina čvorova stabla Put 4: {D,G,J,K}
8
Put 5: {D,G,M}
 Visina stabla S3 je 3
TERMINI (4)
 Predak čvora: Čvor u je predak
nivo Stablo S3
čvora v u stablu T ako u T postoji 0
put od u do v D

 J je predak čvorova K i L
1
 G je takođe predak čvorova K i L E G
 H nije predak čvorova K i L
 Potomak čvora: Čvor u je 2
F H J M
potomak čvora v u stablu T ako u
T postoji put od v do u 3
I K L
 u predak v - postoji put od u do v
Podstablo G
 u potomak v - postoji put od v do
u
9
TERMINI (5)
 Stablo može biti
 uređeno i
 neuređeno
 Stablo
je uređeno ako postoji linearno
uređenje definisano za decu svakog čvora
 bitno je relativno uređenje podstabala u svakom
čvoru
 deca svakog čvora uređenog stabla se identifikuju
kao prvo, drugo, treće, itd.

10
DUBINA (DEPTH)
 Dubina čvora v je dužina jedinstvenog puta
od korena do čvora v
 obeležimo je sa dubina(v)

Algoritam dubina(T,v)
if (jeKoren(T,v)) nivo Stablo S3
then return(0) 0
D
else
return(1+dubina(T,roditelj(T,v)))
1
E G
 Rekurzivna definicija
2
Složenost: O(1+dv),
F H J M
dv – dubina čvora
v u T,
Najgori slučaj O(n), 3
n – broj čvorova I K L 11
uT
VISINA (HEIGHT)
 Visina čvora v je dužina
najdužeg puta od čvora v do Algoritam visinaStabla(T,v)
lista if (jeEksterni(T,v))
 obeležimo je sa visina(v) then return 0
else
 Rekurzivna definicija h=0
for svako dete v iz T do
 Visina stabla T je visina h=1 + max(h,
korena stabla T visinaStabla(T,dete v))
return (h)
 Svojstvo: Visina stabla T
jednaka je max dubini Složenost: O(n+∑ v E (1+dv))
njegovih eksternih čvorova  n - broj čvorova stabla T
 E - broj eksternih čvorova
 dv - dubina čvora v u stablu T
 Najgori slučaj O(n2) 12
VISINA (HEIGHT) ZA BINARNO STABLO
Algoritam visinaSt (T,v)
 Visina čvora v za binarno if (jeEksterni(T,v))
stablo then return 0
else
čvor v h=0
hl = visinaSt ( Levo od v)
hd = visinaSt ( Desno od v)
Levo Desno h=1+
max( hl, hr)
return (h)

13
STABLA KOJA ĆEMO PROUČAVATI
 Binarna stabla
 Knutovo
 Striktno
 Kompletno
 Gotovo kompletno
 Gomila
 Stablo binarnog traženja
 Opšta stabla

14
PITANJA, IDEJE, KOMENTARI

15

You might also like