You are on page 1of 17

STRUKTURE

PODATAKA I ALGORITMI

stabla

Strukture podataka i algoritmi

2012/2013

Odjel za Informa0ku - PMFST

STABLA
Za razliku od vezane liste gdje svaki vor pokazuje na najvie 2 sljedbenika, kod
stabala vorovi mogu pokaziva; na proizvoljno mnogo sljedbenika
Stabla su najvanija nelinearna struktura u programiranju openito
Stablo T se denira kao konaan skup jednog ili vie vorova takvih da
- postoji jedan posebno oznaeni vor koji se zove korijen
- preostali vorovi (izuzev korijena) su par0cionirani u m >= 0 disjunktnih skupova

T1 ,,Tm

pri emu je svaki od 0h skupova takoer stablo, a naziva se jo i podstablom.

Ova denicija je rekurzivna


- denirali smo stablo preko stabla
- postoji li bazni sluaj?

vorovi na koje pokazuje neki vor u stablu se zovu njegovom djecom a on sam
njihovim roditeljem

Strukture podataka i algoritmi

2 / 17

Odjel za Informa0ku - PMFST

STABLA

Strukture podataka i algoritmi

3 / 17

Odjel za Informa0ku - PMFST

STABLA

Strukture podataka i algoritmi

4 / 17

Odjel za Informa0ku - PMFST

STABLA

Strukture podataka i algoritmi

5 / 17

Odjel za Informa0ku - PMFST

STABLA

Strukture podataka i algoritmi

6 / 17

Odjel za Informa0ku - PMFST

STABLA

Strukture podataka i algoritmi

7 / 17

Odjel za Informa0ku - PMFST

STABLA

Strukture podataka i algoritmi

8 / 17

Odjel za Informa0ku - PMFST

BINARNO STABLO
postoje mnoge vrste stablas;h struktura podataka, a nama je najinteresantnija
ureeno binarno stablo
Binarno stablo se denira kao konaan skup vorova koji je
- ili prazan
- ili se sastoji od korijena i elemenata dvaju disjunktnih binarnih stabala (lijevog i desnog)

Valja naglasi; da iako moda slike na to ukazuju, binarno stablo nije poseban
sluaj stabla ve, iako slian, zapravo vrlo razliit koncept
- stablo
ne moe bi0 prazno
uvijek postoji barem korijen
svaki vor ima 0,1,2,3... djece

- binarno stablo
moe bi0 prazno
svaki vor ima 0, 1 ili 2 djece
razlikujemo izmeu lijevog i desnog djeteta

Strukture podataka i algoritmi

9 / 17

Odjel za Informa0ku - PMFST

BINARNO STABLO
U binarnom stablu razlikujemo vorove
- korijen - nema roditelja
- list - nema djece

korijen

- unutranji - nije ni korijen ni list

unutarnji

list
Strukture podataka i algoritmi

10 / 17

Odjel za Informa0ku - PMFST

UREENO BINARNO STABLO


Za binarno stablo kaemo da je ureeno ukoliko je svaki njegov vor vrijedi da
mu je u lijevoj grani dijete koje je manje od njega, a u desnoj dijete koje je vee
od njega.
Manje i vee su rela;vni pojmovi a podrazumijevaju ureaj na stablu.
Ako vor predstavlja studenta, tada se manje/vee moe odnosi;
- na dob (ureaj na N)
- na ime (leksikografski ureaj)

Strukture podataka i algoritmi

11 / 17

Odjel za Informa0ku - PMFST

UREENO BINARNO STABLO

ureeno binarno
stablo

Strukture podataka i algoritmi

12 / 17

Odjel za Informa0ku - PMFST

UREENO BINARNO STABLO


Za vorove u ureenom binarnom stablu kaemo da su na istoj razini ako su
jednako udaljeni od korijena.
- Korijen je na razini 0
- njegova djeca su na razini 1
- njegovi unuci su na razini 2
- njegovi praunuci su na razini 3
- ...

Strukture podataka i algoritmi

13 / 17

Odjel za Informa0ku - PMFST

UREENO BINARNO STABLO

Razina 0
Razina 1
Razina2

Strukture podataka i algoritmi

14 / 17

Odjel za Informa0ku - PMFST

UREENO BINARNO STABLO


Putanja u ureenom binarnom stablu je skup vorova poevi od korijena do
nekog lista.
Duljina putanje je razina lista u toj putanji + 1
Dubina (visina) stabla je duljina najdulje putanje
Za ureeno binarno stablo kaemo da je potpuno ako za dubinu stabla (D) i
broja vorova u stablu (N) vrijedi

N = 2D 1
Za ureeno binarno stablo kaemo da je balansirano ako se, za svaki vor u
njemu, dubina lijevog i desnog podstabla razlikuje za najvie 1.

Strukture podataka i algoritmi

15 / 17

Odjel za Informa0ku - PMFST

UREENO BINARNO STABLO - UNOS


Ureeno binarno stablo ne dozvoljava unos duplikata!!
Provjeravamo je li korijen moda null
- ako jest novi vor postaje korijen
- ako nije provjeravamo vrijednost novog vora i ulazimo u lijevu ili desnu granu
- ako nema lijeve/desne grane (null) tu smjetamo novi vor
- postupak ponavljamo dok ne naemo mjesto za novi vor.

Strukture podataka i algoritmi

16 / 17

Odjel za Informa0ku - PMFST

UREENO BINARNO STABLO - ISPIS


Poto smo ogranieni irinom prozora konzole ali ne i visinom, to emo ispis
modicira; tako da
- desno dijete bude gore umjesto desno
- korijen umjesto gore bude lijevo
- lijevo dijete bude dolje umijesto lijevo

rekurzivno pozivamo funkciju Ispis() koja ovim redoslijedom ispisuje vorove


35
30

20
10
5

15

25

30
25 35

20
15
10
5

Strukture podataka i algoritmi

17 / 17

Odjel za Informa0ku - PMFST

You might also like