16
© Odjel za Informa/ku PMFST Strukture podataka i algoritmi 2012/2013 STRUKTURE PODATAKA I ALGORITMI uređeno binarno stablo pretvorba u dvostruko vezanu cirkularnu listu

Uredjeno Binarno Stablo, Pretvorba u DVL

Embed Size (px)

DESCRIPTION

Strukture podataka i algoritmi

Citation preview

Page 1: Uredjeno Binarno Stablo, Pretvorba u DVL

©  Odjel  za  Informa/ku  -­‐  PMFSTStrukture  podataka  i  algoritmi 2012/2013

STRUKTURE  PODATAKA  I  ALGORITMI

uređeno  binarno  stablo

pretvorba  u  dvostruko  vezanu  cirkularnu  listu

Page 2: Uredjeno Binarno Stablo, Pretvorba u DVL

©  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

Page 3: Uredjeno Binarno Stablo, Pretvorba u DVL

©  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

Page 4: Uredjeno Binarno Stablo, Pretvorba u DVL

©  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

Page 5: Uredjeno Binarno Stablo, Pretvorba u DVL

©  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

Page 6: Uredjeno Binarno Stablo, Pretvorba u DVL

©  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

Page 7: Uredjeno Binarno Stablo, Pretvorba u DVL

©  Odjel  za  Informa/ku  -­‐  PMFSTStrukture  podataka  i  algoritmi /  16

UREĐENO  BINARNO  STABLO  -­‐  PRETVORBA  U  DVCL

7

Page 8: Uredjeno Binarno Stablo, Pretvorba u DVL

©  Odjel  za  Informa/ku  -­‐  PMFSTStrukture  podataka  i  algoritmi /  16

UREĐENO  BINARNO  STABLO  -­‐  PRETVORBA  U  DVCL

8

Page 9: Uredjeno Binarno Stablo, Pretvorba u DVL

©  Odjel  za  Informa/ku  -­‐  PMFSTStrukture  podataka  i  algoritmi /  16

UREĐENO  BINARNO  STABLO  -­‐  PRETVORBA  U  DVCL

9

Page 10: Uredjeno Binarno Stablo, Pretvorba u DVL

©  Odjel  za  Informa/ku  -­‐  PMFSTStrukture  podataka  i  algoritmi /  16

UREĐENO  BINARNO  STABLO  -­‐  PRETVORBA  U  DVCL

10

Page 11: Uredjeno Binarno Stablo, Pretvorba u DVL

©  Odjel  za  Informa/ku  -­‐  PMFSTStrukture  podataka  i  algoritmi /  16

UREĐENO  BINARNO  STABLO  -­‐  PRETVORBA  U  DVCL

11

Page 12: Uredjeno Binarno Stablo, Pretvorba u DVL

©  Odjel  za  Informa/ku  -­‐  PMFSTStrukture  podataka  i  algoritmi /  16

UREĐENO  BINARNO  STABLO  -­‐  PRETVORBA  U  DVCL

12

Page 13: Uredjeno Binarno Stablo, Pretvorba u DVL

©  Odjel  za  Informa/ku  -­‐  PMFSTStrukture  podataka  i  algoritmi /  16

UREĐENO  BINARNO  STABLO  -­‐  PRETVORBA  U  DVCL

13

Page 14: Uredjeno Binarno Stablo, Pretvorba u DVL

©  Odjel  za  Informa/ku  -­‐  PMFSTStrukture  podataka  i  algoritmi /  16

UREĐENO  BINARNO  STABLO  -­‐  PRETVORBA  U  DVCL

14

Page 15: Uredjeno Binarno Stablo, Pretvorba u DVL

©  Odjel  za  Informa/ku  -­‐  PMFSTStrukture  podataka  i  algoritmi /  16

UREĐENO  BINARNO  STABLO  -­‐  PRETVORBA  U  DVCL

15

Page 16: Uredjeno Binarno Stablo, Pretvorba u DVL

©  Odjel  za  Informa/ku  -­‐  PMFSTStrukture  podataka  i  algoritmi /  16

UREĐENO  BINARNO  STABLO  -­‐  PRETVORBA  U  DVCL

16