View
216
Download
0
Category
Preview:
Citation preview
7/21/2019 Memory Management in Trees
1/13
7/21/2019 Memory Management in Trees
2/13
rcct =Hesjrt(rcct,::);
rcct =Hesjrt(rcct,9:);
rcct =Hesjrt(rcct,>:);
rcct =Hesjrt(rcct,?:);
rcct =Hesjrt(rcct,7:);
rcct =Hesjrt(rcct,:7);
rcct =Hesjrt(rcct,>0);
// rcct = Hesjrt(rcct,7>);
// rcct = Hesjrt(rcct,70);
prheti("Jetjr Eumojr tc sjbrg`6 ");
sgbei("%n",&nbtb);
hi(sjbrg`(rcct,nbtb)==2)
prheti("htjm icuenQe");
jasj
prheti("Htjm Ect IcuenQe");
}
^`j Mjmcry t`bt hs baacgbtjn tc prclrbm icr hts jxjguthce gbe oj
typhgbaay nhvhnjn hetc icur sjlmjets, ebmjay Gcnj/^jxt, Wtbthg/Lacoba,
Wtbgk, @jbp.
^jxt sjlmjet whaa stcrj baa t`j hestrugthces ci t`j prclrbm. ^`j
ejxt sjlmjet hs usjn tc stcrj baa t`j lacoba vbrhboajs, baa t`j vbrhboajs
t`bt brj njgabrjn cutshnj baa t`j iuegthces. ^`j ejxt cej hs gbaajn stbgk,
@JBT
W^BGK
W^B^HG/LACOBA
GCNJ/^JP^
7/21/2019 Memory Management in Trees
3/13
ht hs b sgrbtg` spbgj icr iuegthce gbaa jxjguthce. Baa t`j acgba vbrhboajs
ahvj he stbgk. ^`j abst cej hs gbaajn @jbp. @jbp gbe lrcw cr s`rhek
nyebmhgbaay bs pjr rjquhrjmjet. ^`j shzj ci ct`jr sjlmjets hs njghnjn
bt gcmphaj thmj w`jrjbs @jbp gbe nyebmhgbaay jxpben cr s`rhek bt rue
thmj, wj gbe gcetrca nyebmhg baacgbthce ben nj-baacgbthce he `jbp. \jgbeect gcetrca nyebmhg baacgbthce ben nj-baacgbthce he ct`jr sjlmjets.
Ajt us sjj w`bt `bppjes he stbgk ben `jbp nurhel prclrbm
jxjguthce.
\`je t`j prclrbm whaa stbrt jxjguthce ihrst t`j mbhe iuegthce whaa
oj gbaajn, w`jejvjr b iuegthce hs gbaajn scmj bmcuet ci mjmcry hs
baacgbtjn icr iuegthce jxjguthce. ^`j baacgbtjn mjmcry hs gbaajn stbgk
irbmj. Baa t`j acgba vbrhboajs ben stbtj ci jxjguthce ci t`j iuegthce gbaa
wcuan oj stcrjn he t`j stbgk irbmj ci t`j iuegthce gbaa.
W^BGK @JBT
W^BGK I_BMJ
MJMC_X MBEBLJMJE^ CI B T_CL_BM
MBHE
7/21/2019 Memory Management in Trees
4/13
He mbhe iuegthce wj `bvj t`j acgba vbrhboaj rcct b pchetjr tc
OstEcnj, ht hs hehthbahzjn wht` EZAA,
Ecw bitjr Hehthbahzbthce, wj brj mbkhel b iuegthce gbaa tc hesjrt,
mbhe iuegthce whaa pbusj bt t`hs stblj ben b ejw stbgk irbmj whaa oj
baacgbtjn icr t`j jxjguthce ci hesjrt, mbhe whaa wbht icr t`j iuegthce
hesjrt tc ihehs` ben rjture. Cegj t`hs hesjrt gbaa ihehs`js mbhe whaa
rjsumj bt ahej ?. \j `bvj twc vbrhboajs rcct ben nbtb he hesjrt iuegthce
he w`hg` wj brj gcaajgthel t`j brlumjets.
OstEcnj *Hesjrt(OstEcnj *rcct,hetnbtb)
{
hi(rcct ==EZAA){
rcct =LjtEjwEcnj(nbtb);
rjturercct;
}
jasjhi(nbtb1=rcct-5nbtb)
{
rcct-5ajit =Hesjrt(rcct-5ajit,nbtb);
}
jasj
W^BGK @JBT
MJMC_X MBEBLJMJE^ CI B T_CL_BM
MBHE
W^BGK
I_BMJ
4_CC^
7/21/2019 Memory Management in Trees
5/13
{
rcct-5rhl`t =Hesjrt(rcct-5rhl`t,nbtb);
}
rjturercct;
}
He t`hs gbaa tc hesjrt iuegthce wj lc tcwbrns rcct =LjtEjwEcnj(nbtb);
ci t`j iuegthce, h.j., wj whaa mbkj gbaa tc LjtEjwEcnj iuegthce cegj
blbhe t`hs iuegthce gbaa whaa pbss ben b ejw stbgk irbmj whaa oj
baacgbtjn icr jxjguthce ci LjtEjwEcnj iuegthce. \j `bvj twc acgba
vbrhboajs he ljt ejw ecnj, EjwEcnj ben nbtb. He t`hs iuegthce wj brj
ushel mbaacg icr mjmcry baacgbthce he `jbp.
Ajt,s sby bnnrjss ci t`hs ejw ecnj hs ?44, mbaacg whaa rjture t`j
bnnrjss ?44, ^`hs pchetjr ejwecnj wj brj sjtthel vbaujs ci t`hs t`rjj
ihjans nbtb bs ::, ajit ben rhl`t bs EZAA.
W^BGK @JBT
MJMC_X MBEBLJMJE^ CI B T_CL_BM
MBHE
W^BGK
I_BMJ
4_CC^
_CC^ 4
HEWJ_^ NB^B ::
7/21/2019 Memory Management in Trees
6/13
Ecw LjtEjwEcnj whaa rjture t`j bnnrjss ci EjwEcnj ben
ihehs`js hts jxjguthce.
Cegj t`j iuegthce ihehs`js jxjguthce stbgk irbmj baacgbtjn tc ht hs
rjgabhmjn gbaa tc hesjrt iuegthce whaa rjsumj bt rcct =
LjtEjwEcnj(nbtb); ben t`j rjture ci LjtEjwEcnj, bnnrjss ci
EjwEcnj whaa oj sjt he t`j rcct w`hg` hs acgba vbrhboaj he hesjrtgbaa.
W^BGK @JBT
MJMC_X MBEBLJMJE^ CI B T_CL_BM
MBHE
W^BGK
I_BMJ
4_CC^
_CC^ 4
HEWJ_^ NB^B ::
EjwEcnj ?44
LjtEjwEcnj NB^B ::
EZAA :: EZAA
7/21/2019 Memory Management in Trees
7/13
Ben ecw, t`hs pbrthguabr hesjrt iuegthce rjture t`j bnnrjss ci t`j
rcct ben ihehs`. Ecw mbhe whaa rjsumj bt ahej rcct = hesjrt (rcct,::);
ben rcct hs sjt tc ?44.
W^BGK @JBT
MJMC_X MBEBLJMJE^ CI B T_CL_BM
MBHE
W^BGK
I_BMJ
4_CC^
_CC^ ?44
HEWJ_^ NB^B ::
EZAA :: EZAA ?44
W^BGK @JBT
MJMC_X MBEBLJMJE^ CI B T_CL_BM
MBHE
W^BGK
I_BMJ
?44_CC^
EZAA :: EZAA ?44
7/21/2019 Memory Management in Trees
8/13
Ecw mbhe gcetrca whaa lc tc t`j ejxt ahej ben ht whaa gbaa t`j hesjrt
iuegthce wht` b vbauj 9:, cegj blbhe jxjguthce ci mbhe whaa oj pbusjn
ben b stbgk irbmj whaa oj baacgbtjn icr jxjguthce ci hesjrt. Ecw, t`hs
thmj icr hesjrt gbaa rcct hs ect EZAA, sc prclrbm whaa ect jetjr t`j ihrst
hi gcenhthce ben ht whaa bggjss t`j nbtb ihjan ci t`j ecnj bt bnnrjss ?44ushel b acgba vbrhboaj pchetjr ebmjn rcct.
^`je t`j vbauj ljt gcmpbrjn wht` t`j vbauj 9:, 9: hs lrjbtjr t`be
:: sc wj whaa lc jasj gcenhthce, h.j. ahej rcct-5rhl`t =Hesjrt(rcct-
5rhl`t,nbtb); ecw, wj brj mbkhel b rjgurshvj gbaa `jrj. _jgurshce hs b
iuegthce gbaahel htsjai. Wc, Jxjguthce ci t`hs hesjrt gbaa whaa oj pbusjn
ben b ejw stbgk irbmj whaa oj baacgbtjn icr jxjguthce ci bect`jr hesjrt
gbaa tc w`hg` t`j brlumjets pbssjn brj EZAA (bnnrjss ci ajit g`han) tc
acgba vbrhboaj rcct ben nbtb h.j. 9:.
W^BGK @JBT
MJMC_X MBEBLJMJE^ CI B T_CL_BM
MBHEW^BGK
I_BMJ
?44_CC^
EZAA :: EZAA ?44
HEWJ_^W^BGK
I_BMJ
?44_CC^
9:NB^B
7/21/2019 Memory Management in Trees
9/13
Wc, icr t`hs pbrthguabr hesjrt gbaa rcct hs EZAA, sc gcetrca whaa lc
heshnj ihrst hi gcenhthce ben wj whaa mbkj b gbaa tc LjtEjwEcnj
iuegthce, ecw hesjrt whaa pbusj ben b stbgk irbmj whaa oj grjbtjn tc
LjtEjwEcnj iuegthce, ben heshnj t`hs iuegthce t`jrj hs b acgba vbrhboaj
EjwEcnj. He t`hs wj brj ushel mbaacg icr mjmcry baacgbthce he `jbp,
t`j rjture bnnrjss ci mbaacg hs pbssjn tc EjwEcnj, sc ajt us bssumj
bnnrjss oj 744.
W^BGK @JBT
MJMC_X MBEBLJMJE^ CI B T_CL_BM
MBHE
W^BGK
I_BMJ
2
?44_CC^
EZAA :: EZAA ?44
HEWJ_^W^BGK
I_BMJ
?
?44_CC^
9:NB^B
HEWJ_^
W^BGK
I_BMJ
7
4_CC^
9:NB^B
7/21/2019 Memory Management in Trees
10/13
Ecw LjtEjwEcnj whaa rjture 744ben ihehs`. Jxjguthce ci t`hs
gbaa tc hesjrt whaa rjsumj he ihrst hi gcenhthce (rcct =LjtEjwEcnj(nbtb); ) ht
whaa sjt rcct ci hesjrt iuegthce tc 744.
W^BGK @JBT
MJMC_X MBEBLJMJE^ CI B T_CL_BM
MBHE
W^BGK
I_BMJ
2
?44_CC^
EZAA :: EZAA ?44
HEWJ_^W^BGK
I_BMJ
?
?44_CC^
9:NB^B
HEWJ_^
W^BGK
I_BMJ
7
4_CC^
9:NB^B
LjtEjw
Ecnj
W^BGK
I_BMJ
>
744EjwEcnj
9:NB^B
EZAA 9: EZAA 744
7/21/2019 Memory Management in Trees
11/13
Ecw t`hs gbaa tc hesjrt whaa rjture bnnrjss 744 ben ihehs`. Hesjrt
ojacw whaa rjsumj bt t`j ahej (rcct-5rhl`t =Hesjrt(rcct-5rhl`t,nbtb);) ben
ecw he t`hs hesjrt gbaa rhl`t g`han ci t`hs bnnrjss bt ecnj ?44 wha oj sjt
bs rjture ci t`j prjvhcus hesjrt gbaa w`hg` hs 744.
W^BGK @JBT
MJMC_X MBEBLJMJE^ CI B T_CL_BM
MBHE
W^BGK
I_BMJ
2
?44_CC^
EZAA :: EZAA ?44
HEWJ_^W^BGK
I_BMJ
?
?44_CC^
9:NB^B
HEWJ_^
W^BGK
I_BMJ
7
744_CC^
9:NB^B EZAA 9: EZAA 744
7/21/2019 Memory Management in Trees
12/13
Wc ecw twc ecnjs brj ahekjn ben ihebaay hesjrt gbaa whaa ihehs`.
Gcetrca whaa rjture obgk tc mbhe tc t`j ahej (rcct = Hesjrt (rcct, 9:)) rcct
whaa oj rjwrhttje bs ?44.
W^BGK @JBT
MJMC_X MBEBLJMJE^ CI B T_CL_BM
MBHE
W^BGK
I_BMJ
2
?44_CC^
EZAA :: 744 ?44
HEWJ_^W^BGK
I_BMJ
?
?44_CC^
9:NB^B
EZAA 9: EZAA 744
W^BGK @JBT
MJMC_X MBEBLJMJE^ CI B T_CL_BM
MBHE
W^BGK
I_BMJ
2
?44_CC^
EZAA :: 744 ?44
EZAA 9: EZAA 744
7/21/2019 Memory Management in Trees
13/13
^`hs whaa gcetheuj icr baa t`j ct`jr iuegthce gbaas.
Recommended