Professional Documents
Culture Documents
Stog Stablo
Stog Stablo
Stog Stablo
dodavanje oduzimanje
Struktura
Stog (stack) – niz elemenata u kojem se dodavanje i brisanje mogu
obavljati na jednom kraju niza (LIFO). Nije moguće izvaditi ili
umetnuti bilo koji element unutar stoga dok se ne „skinu“ svi
elementi iznad njega. Dakle posljednji pohranjeni podatak prvi ide na
obradu.
Osnove operacije su :
Push – dodavanje elementa na stog
Pop – brisanje (oduzimanje ili dohvaćanje) elementa sa stoga
Prefiksni izraz
- * / 15 - 7 + 1 1 3 + 2 + 1 1 = Traži operator te
potom dva
- * / 15 - 7 2 3 + 2 + 1 1 = operanda. Ukoliko se
- * / 15 5 3+2+11= naiđe na drugi
operator prije nego su
-* 3 3+2+11= operandi pronađeni,
stari se operator stavi
- 9 +2+11= sa strane sve dok se
- 9 +2 2 = ne razriješi ovaj novi
operator.
- 9 4 =
5
Stanje stoga za prefiksni izraz
- * / 15 - 7 + 1 1 3 + 2 + 1 1
1
1
+ 2 1
7 7 1
- - 5 + 2
15 15 15 3 2 2
/ / / 3 3 + + 4
* * * * * 9 9 9 9
- - - - - - - - - 5
Postfiskni izraz na stogu
512+4*+3-
5
1
2
2 4
+
3 12
4 1 1 3 3 14
17
*
+ 5 5 5 5 5 5 17
3
-
Izračunaj
• Zadan je matematički izraz u postorder
zapisu: 17 4 * 5 + 10 2 / 3 * 7 - - Koristeći
stog riješi matematički izraz.
/ * -
* + 2 3 7 -
4 5 10 5 15 8
17 68 73 73 73 73 65
Izračunaj 5 6 2 + * 12 4 / -
Operand/operacija stog
5 5
6 5,6
2 5,6,2
+ 5,8
* 40
12 40,12
4 40,12,4
/ 40,3
- 37
Zadatak
(8+3)*5-(2/(3-1))
Pretvori u postfiksni zapis, Pretvori u prefiksni izraz,
izračunaj i prikaži stog izračunaj i prikaži stog
83+5*231-/- -*+835/2–31
85+5*631*/- -*+855/6*31
DZ
Zadajte si dva izraza u postfiksnom i prefiksnom obliku, riješite i
prikažite stog
Stablo
Stablo (binarno stablo) – hijerarhijska struktura u kojoj svaki element
ima samo jednog oca i dvoje djece.
Elemente stabla nazivamo čvorovima.
Čvorovi s istim roditeljem su siblinzi.
Korijen je čvor bez roditelja.
Čvorovi na dnu stabla su listovi.
Stupanj stabla je najveći broj djece koje posjeduje neki čvor.
Visina stabla je duljina najduljeg puta od nekog lista prema korijenu.
Stablo nije linearna struktura.
Binarno stablo
Binarno stablo je
potpuno ukoliko su svi
nivoi stabla puni (zadnji
ne mora)
Na zadnjem nivou se
djeca popunjavaju s
lijeva na desno bez
praznina.
Obilazak stabla
postorder – djeca (imaju
prednost) pa korijen (LDN) A
preorder- korijen pa djeca (NLD) B C
inorder - lijevo dijete, korijen,
desno dijete (LND)
D E F G
Postorder: DEBFGCA
Preorder: ABDECFG
Inorder: DBEAFCG
Obiđi stablo na sva tri načina
PREORDER(NLD):
0, 1, 2, 4, 7, 8, 5, 9, 3, 6
INORDER(LND):
1, 0, 7, 4, 8, 2, 9, 5, 6, 3
POSTORDER(LDN):
1, 7, 8, 4, 9, 5, 2, 6, 3, 0
Obilasci stabla
DFS:
Inorder (Left, Root, Right) : 4 2 5 1 3
Preorder (Root, Left, Right) : 1 2 4 5 3 Postorder
(Left, Right, Root) : 4 5 2 3 1
BFS : 1 2 3 4 5
Točni odgovori?
Visualgo.net
Nacrtaj stablo i obiđi ga
◦ DFS (preorder)
◦ BFS
LND (inorder)
Rješenje
D
B F
A C E G
Zadatak
Zadano je stablo
Odredi obilazak: BFS-om, inorder,
preorder i postorder
NLD (preorder)
LDN (postorder)
• BFS: A, B, C, D, E, R, S, F, G, L
• In: F, D, G, B, L, E, A, R, C, S
• Post: F, G, D, L, E, B, R, S, C, A
• Pre: A, B, D, F, G, E, L, C, R, S
Nacrtaj graf
V={1, 2, 3, 4, 5, 6}
E={1 2, 2 3, 3 4, 4 5, 5 6, 1 6, 1 5, 2 6, 3 6}
Izradi matricu i listu susjedstva za graf
Od početnog čvora 1 obiđi graf BFS-om i DFS-om
Nacrtaj u visualgo.net graf i provjeri rezultat
Rješenja
BFS
◦ 125634
DFS
◦ 123456
Izračunaj i prikaži stog. Odredi infiksni
izraz
24/56-*
15 7 1 1 + − ÷ 3 × 2 1 1 + + − =
15 7 1 1 + − ÷ 3 × 2 1 1 + + − =
15 7 1 1 + − ÷ 3 × 2 1 1 + + − =
15 7 1 1 + − ÷ 3 × 2 1 1 + + − =
15 7 2−÷3×211++−=
15 5÷3×211++−=
33×211++−=
33×211++−=
9211++−=
9211++−=
9211++−=
9211++−=
92 2+−=
9 4−=
5=