Upload
ivan-ivanic
View
28
Download
0
Embed Size (px)
DESCRIPTION
Strukture podataka i algoritmi
Citation preview
© Odjel za Informa/ku -‐ PMFSTStrukture podataka i algoritmi 2012/2013
STRUKTURE PODATAKA I ALGORITMI
uređeno binarno stablo
pretvorba u dvostruko vezanu cirkularnu listu
© Odjel za Informa/ku -‐ PMFSTStrukture podataka i algoritmi / 16
UREĐENO BINARNO STABLO -‐ BRISANJE
• Kod brisanja čvora iz uređenog binarnog stabla moguće su sljedeće tri situacije
-‐ brišemo čvor koji nema djece
-‐ brišemo čvor koji ima jedno dijete
-‐ brišemo čvor koji ima dvoje djece
• Ako brišemo čvor koji nema djece
-‐ jednostavno ga postavimo na null
• Ako brišemo čvor koji ima samo jedno dijete
-‐ postavimo ga na to njegovo dijete (bilo ono lijevo ili desno)
• Ova tri slučaja se mogu svesH na dva, pri čemu
-‐ ako čvor nema lijevo dijete, postavljamo ga na njegovo desno dijete
-‐ ako čvor nema desno dijete, postavljamo ga na njegovo lijevo dijete
2
© Odjel za Informa/ku -‐ PMFSTStrukture podataka i algoritmi / 16
UREĐENO BINARNO STABLO -‐ BRISANJE
• Ako brišemo čvor koji ima dvoje djece, procedura je kako slijedi
-‐ pronaći najmanji čvor u njegovoj desnoj grani tj. minD
-‐ zamijeniH njegove podatkovne varijable s onima iz minD
-‐ u idućem rekurzivnom pozivu izbrisaH minD
3
© Odjel za Informa/ku -‐ PMFSTStrukture podataka i algoritmi / 16
UREĐENO BINARNO STABLO -‐ LISTOVI
• List je čvor koji nema djece
• Krenuvši od korijena
-‐ odrediH koliko ima listova u njegovoj lijevoj grani a koliko u desnoj
-‐ vraHH zbroj ta dva broja
4
© Odjel za Informa/ku -‐ PMFSTStrukture podataka i algoritmi / 16
UREĐENO BINARNO STABLO -‐ VISINA
• Visina stabla je broj čvorova u njegovoj najduljoj putanji
• Počevši od lista
-‐ postaviH da mu je razina 1
-‐ za nadčvor postaviH da mu je razina
-‐ postupno se vraHH do korijena
5
max L temp.L( ),L temp.D( )( ) +1
© Odjel za Informa/ku -‐ PMFSTStrukture podataka i algoritmi / 16
UREĐENO BINARNO STABLO -‐ PRETVORBA U DVCL
• Ovaj zanimljiv problem predstavlja pravi izazov
-‐ inteligentno premještanje referenci
-‐ rad sa dvjema strukturama
-‐ znatnu upotrebu rekurzije
• Pošto čvor u objema strukturama ima dva pokazivačka polja, ideja o pretvorbi nameće se sama po sebi.
6
© Odjel za Informa/ku -‐ PMFSTStrukture podataka i algoritmi / 16
UREĐENO BINARNO STABLO -‐ PRETVORBA U DVCL
7
© Odjel za Informa/ku -‐ PMFSTStrukture podataka i algoritmi / 16
UREĐENO BINARNO STABLO -‐ PRETVORBA U DVCL
8
© Odjel za Informa/ku -‐ PMFSTStrukture podataka i algoritmi / 16
UREĐENO BINARNO STABLO -‐ PRETVORBA U DVCL
9
© Odjel za Informa/ku -‐ PMFSTStrukture podataka i algoritmi / 16
UREĐENO BINARNO STABLO -‐ PRETVORBA U DVCL
10
© Odjel za Informa/ku -‐ PMFSTStrukture podataka i algoritmi / 16
UREĐENO BINARNO STABLO -‐ PRETVORBA U DVCL
11
© Odjel za Informa/ku -‐ PMFSTStrukture podataka i algoritmi / 16
UREĐENO BINARNO STABLO -‐ PRETVORBA U DVCL
12
© Odjel za Informa/ku -‐ PMFSTStrukture podataka i algoritmi / 16
UREĐENO BINARNO STABLO -‐ PRETVORBA U DVCL
13
© Odjel za Informa/ku -‐ PMFSTStrukture podataka i algoritmi / 16
UREĐENO BINARNO STABLO -‐ PRETVORBA U DVCL
14
© Odjel za Informa/ku -‐ PMFSTStrukture podataka i algoritmi / 16
UREĐENO BINARNO STABLO -‐ PRETVORBA U DVCL
15
© Odjel za Informa/ku -‐ PMFSTStrukture podataka i algoritmi / 16
UREĐENO BINARNO STABLO -‐ PRETVORBA U DVCL
16