90-FINAL-SOL.pdf

a
ŘÀą ôŚœĆŞ
(40-254) ŚûÝţþďĄÚóŘ üœŚśõ ø ŚûďŚţąŚĺùćŘć
Data Structures and Fundamentals of Algorithms
ÂŮĄČşõŚî üĺÀĂúõ ýùÀØÈœŘć
üĺÀì ÀÞ¡õ :ğďÀõ
1390/ 10/ 26 :¿þďŚŮ
üþŚúœ öĄõěŊ üţÆŮ ŰĎŘĄĺ Û§
ü ţ È ðěŚ Ş ýĆ Î ŞŘď ¿ ĺŚ Ţ Θ(n) Ć î À Ă îü õ ß Č Þ Ì Ů ak Ś Ů a1 ť ś ů õ ø ij Č ¡ ň  þćŚ Ö õ ýŘÂ Ş Â þě Í þŘ ł ěŘ Œ þôŘÀ î (1
?ÀłŚŞ T (n) =
k
X
i=1
1/ai = 1 : ć
k
X
i=1
k
X
1/ai > 1 : Ž
i=1
k
X
k
X
1/ai < 1 : Š
T (n/ai ) + Θ(n)
i=1
i=1
1/ai = k :ÓóŘ
2 :ťĺďć ¿ĺŚŢ
ťĺćĆŞ ťŞŚŹ öŘĄĂäĆŞ ÓÜţ£õ ýŚûÂÎĺ ěŘ Âþě ÂþćŚÖõ Ćî Àþć ÝČûŘĄą ÝþěŚÆŞ ĆÎŞŘď ßþŘ ýŘÂŞ Řď ťÈð쌪 ťąďć ÂðŘ :Û§ùŘď
.ťĺŘ O(lg n) ťÈð쌪 ťąďć áŚÔŮďŘ Ćî ÝþďŘć ĆŻĄŮ .ťĺŘ üţÈð쌪 Û§ùŘď ĆŞ ¿ĺŚŢ ŚûöŊ âÞŻ Ćî ÀþŊüõ
row
1
value
n
Pk
n i=1 1/ai
Pk
Pk
n i=1 1/ai j=1 1/aj
i
n
0
2
..
.
..
.
Pk
i1 =1
1/ai1
Pk
i2 =1
1/ai2 · · ·
Pk
ii =1
1/aii
 ðŘ Ś õŘ .ćĄ Ş À ûŘĄ ą O(n lg n) ü ţ È ðěŚ Ş ýĆ Î ŞŘď Ć Ş ¿ ĺŚ Ţ Ś þ , þćŚ Ö õ ß þŘ â Þ Ż ,
Pk
Œþ ěŘ ŚûöŊ áĄÞźõ Ćî ÀĂţÆû 1 ěŘ ÂŮÝî üÈûŚî ÂþćŚÖõ âÞŻÛňŚ§ ýÂĺ Ćî ťĺŘ n
1/ai = 1  ðŘ Ć î ť ĺŘ ü ú þÀ Ş
i=1
P
O(lg n)
r=0
αr ¿ĺŚŢ ,
Pk
i=1
1/ai < 1
.ťĺŘ Θ(n) ¿ĺŚŢ ťóŚ§ ßþŘ ďć ÅŢ .ťĺŘ ÂŮÝî ťŞŚŹ ďŘÀÖõ
:ÀþÂČÚŞ ÂÑœ ďć Řď Âþě üţÈð쌪 ýĆÎŞŘď (2
F (x, 0)
F (x, 1)
F (n, 0)
F (n, 1)
=
=
=
=
F (x + 1, 0) + F (x + 1, 1),
2F (x + 1, 0) + F (x + 1, 1)
1
0
if x < n
if x < n
(1)
?ÝČûć ôŚźœŘ ÀþŚŞ Řď (ëĄê ýŚûĆÎŞŘď ďć + öŚÞû) âÞŻ ÛÞä  ÀĂİ ,ÝČĂî ĆśĺŚ¡õ Řď F (1, 1) ďŘÀÖõ ÝČûŘĄ£Ş ÂðŘ
O(2n−1 ) : ć
O(n2 ) : Š
O(n) : Ž
1
O(2n ) :ÓóŘ
3 :ťĺďć ¿ĺŚŢ
:Û§ùŘď
F (1, 0)
n
F (1, 1)
2
.
.
.
F (n − i, 0)
i
3
5
F (n − i, 1)
.
.
.
F (n − 2, 0)
F (n − 2, 1)
7
F (n − 1, 1)
3
F (n, 1)
1
2
2
3
1
1
F (n − 1, 0)
2
F (n, 0)
,ÂÚþć öŚČŞ ĆŞ .Àûćüõ öŚÈœ Řď ?? üţÈð쌪 ýĆÎŞŘď ßþŘ ěŘ Řď F (1, 1) ýĆśĺŚ¡õ ýùĄ¡œ ?? ÛØł
F (n, 0) + F (n, 1) → F (n − 1, 0)
2F (n, 0) + F (n, 1) → F (n − 1, 1)
F (n − 1, 0) + F (n − 1, 1) → F (n − 2, 0)
2F (n − 1, 0) + F (n − 1, 1) → F (n − 2, 1)
..
.
F (n − i, 0) + F (n − i, 1) → F (n − i − 1, 0)
2F (n − i, 0) + F (n − i, 1) → F (n − i − 1, 1)
..
.
2F (n − (n − 2), 0) + F (n − (n − 2), 1) → F (n − (n − 1), 1) = F (1, 1)
.ťĺŘ ťĺďć 3 ýĆĂþÃð ÅŢ .ťĺŘ 2(n − 1) − 1 = 2n − 3 ÂŞŘÂŞ âÞŻ ÛÞä ÕČìć ćŘÀãŮ ,ÅŢ
ÅþÂŮŚõ Œþ k > 0 ýŘÂŞ Ak ø 1 ďŘÀÖõ ŚŞ 1 × 1 ÅþÂŮŚõ Œþ A0 .ÀþÂČÚŞ ÂÑœ ďć ÓþÂãŮ ßþŘ ŚŞ Řď . . . ø A1 ,A0 ÅþÂŮŚõ (3
:楳üõ ÓþÂãŮ ŰďĄňĆŞ Ćî ťĺŘ 2k × 2k
Ak =
·
Ak−1
Ak−1
Ak−1
−Ak−1
¸
?ťĺŘ ôŘÀî A × V ŠÂő ýĆĂþÃû .ťĺŘ n = 2k ýùěŘÀœŘ ĆŞ üœĄţĺ ďŘćÂŞ Œþ V ÀČĂî ŋÂê
Θ(n lg k) : ć
Θ(k lg n) : Ž
Θ(n lg n) : Š
Θ(n) :ÓóŘ
2 :ťĺďć ¿ĺŚŢ
:Û§ùŘď
y ø x ýŚ ûôŚ œ Ś Ş Ý û Řď ÛňŚ § ďŘćÂŞ ýĆÞČ œ øć ø V2 ø V1 Ś Ş Řď À Ă ţ Æû n/2 ýùěŘÀ œŘ ĆŞ ü þŚ ûďŘćÂŞ Ćî Řď V ýĆÞČ œ øć ÂðŘ
Řď Ak−1 × V2 ø Ak−1 × V1  ðŘ Å Ţ .y = Ak−1 × V1 − Ak−1 × V2 ø x = Ak−1 × V1 + Ak−1 × V2 Ý þďŘć ,Ý Č õŚ Ă Ş
ü ţ È ðěŚ Ş ýĆ Î ŞŘď ěŘ ŰŚ ś ĺŚ ¡ õ Û î ýĆ Ă þà û Å Ţ .ť ĺŘ ôŚ ź œŘ Û ŞŚ ì 2O(n/2) ďć ëĄ ê ŰŚ ś ĺŚ ¡ õ Ć ź Č ţ œ ,Ý Č łŚ Ş Ć ţ łŘć
.ťĺŘ Θ(n lg n) öŊ ¿ĺŚŢ Ćî ÀþŊüõ ťĺćĆŞ T (n) = 2T (n/2) + O(n)
2
2
:ŚŞ ťĺŘ ÂŞŘÂŞ Ýîť
c ĺć ÀĂî řŮÂõ Ω(n ) öŚõě ďć Řď ÂÊĂä n üêćŚÊŮ âþÂĺ ýěŚĺřŮÂõ ÝţþďĄÚóŘ ĆîöŊ ñŚÞţ§Ř (4
n2 /(n!) : ć
n/(n!) : Ž
1/(n!) : Š
1/n :ÓóŘ
2 :ťĺďć ¿ĺŚŢ
ŠŚ£ţœŘ ďĄ¡õ öŘĄĂäĆŞ Řď ÂÊĂä (ßþÂŮŒİĄî Śþ) ßþÂŮïďÃŞ üêćŚÊŮ âþÂĺ ýěŚĺřŮÂõ ÝţþďĄÚóŘ ,ĆܧÂõ Âû ďć ÂðŘ :Û§ùŘď
Řď ďŚî ßþŘ O(n2 ) öŚõě ďć Ćî ťĺŘ řŮÂõ ýĆþŘďŊ ýøď ÂŞ üãÎì âþÂĺ ýěŚĺřŮÂõ ÀĂœŚõ ÝţþďĄÚóŘ ßþŘ ŰďĄňöŊ ďć ,ÀĂî
(1/k) = 1/(n!) ŚŞ ťĺŘ ÂŞŘÂŞ ÀþŚČŞ ÇČŢ üţóŚ§ ßČĂİ ĆîßþŘ ñŚÞţ§Ř .Àûćüõ ôŚźœŘ
√
Ûůõ ùćŚĺ ÝţþďĄÚóŘ Œþ ŚŞ ùćÂî ŠŚ£ţœŘ Řď ñøŘ ÂÊĂä 2 n + 1 ,A ýĄÌä n ýĆþŘďŊ âþÂĺ ýěŚĺřŮÂõ ÀþÀŻ ýŘĆœĄð ďć (5
.
Qn
k=1
ø ÝČûćüõ ďŘÂì ďĄ¡õ Řď ÂÊĂä ßþŘ .ÝþďøŊüõ ťĺćĆŞ Řď ŚûöŊ ýĆœŚČõ ÂÊĂä Åşĺ ø řŮÂõ Řď ÂňŚĂä ßþŘ ,üŻďć ýěŚĺřŮÂõ
ďć Řď ÀþÀŻ ÝţþďĄÚóŘ ßþŘ ýŘÂŻŘ öŚõě Âþě ýŚûĆÎŞŘď ěŘ ŒþôŘÀî .ÝČĂîüõ ŘÂŻŘ Řď A ýøď ÂŞ Řď ýěŚĺřŮÂõ ÝţþďĄÚóŘ ýĆČÖŞ
?Àûćüõ öŚÈœ ťóŚ§ ßþÂŮÀŞ
√
√
T (n) ≤ T (n − n) + O( n)
√
√
T (n) ≤ T (2 n) + T (n − 2 n) + O(n)
√
√
T (n) ≤ T ( n) + T (n − n) + O(n)
√
T (n) ≤ 2T (n − n) + O(n)
√
√
:ÓóŘ
:Š
: Ž
: ć
3 :ťĺďć ¿ĺŚŢ
n Ýîť
c ĺć Ç£Ş Âû Ćî ÝČœŘćüõ ďĄ¡õ ßþŘ ŚŞ .ťĺŘ O(n) ěŘ ĆþŘďŊ ýÀĂŞÇ£Ş ÂČœ ø ÂÊĂä 2 n + 1 ýěŚĺřŮÂõ :Û§ùŘď
√
ÂÚþć Ç£Ş ø ( n öŚÞû) ÂÊĂä ćŘÀãŮ ßþÂŮÝî Ç£Ş Œþ ø ÀłŚśœ öěŘĄţõ ýÀĂŞÇ£Ş Ćî ťĺŘ öŊ ťóŚ§ ßþÂŮÀŞ .ćďŘć ÂÊĂä
√
.Àûćüõ öŚÈœ Řď ťóŚ§ ßþÂŮÀŞ ýŘÂŻŘ öŚõě 3 ýĆĂþÃð ßþŘÂŞŚĂŞ .ÀłŚŞ ÂÊĂä n − n ýĆČÖŞ ýøŚ§
Œ þ Í Ö ê E  ðŘ ,ľďŚ Ú œ ß þŘ ďć .ť ĺŘ ùÀ ł ùćŘć À œŘ ü þøćøć Ć Þ û öŊ ýŚ û ðÛ Þ ä Ć î E ŰďŚ ś ä ýà ţ œŘÂ Ţ Ě
f õŚ î ľďŚ Ú œ (6
Ě
f õŚ î ýŚ ûĆœĄ ð øć Âû E2 ø E1 ø ü þøćøć À œøÛÞä β Ćî ,ť ĺŘ (E1 βE2 ) ĆœÂð ø a öŊ ľďŚ Úœ ,À łŚ Ş a À Ă œŚ õ À œøÛÞä
.ťĺŘ (a − b ∗ c)/(d/e) Űä ýÃţœŘÂŢ Ě
f õŚî Ćb œĄð ((a-(b*c))/(d/e)) Ě
f ůõ .ÀĂţÆû E2 ø E1 ýŚûŰäÂþě ýÃţœŘÂŢ
((a-(b*c/(d/e Ě
f ůõ .ÀĂłŚŞ ùÀł éÁ§ Śû ’)’ ýĆÞû Ćî ťĺŘ ýÃţœŘÂŢ Ě
f õŚî ľďŚÚœ öŚÞû E "ùÀłùćŚĺ ýÀœøöŚČõ’ ľďŚÚœ
.ťĺŘ E ýùÀłùćŚĺ ýÀœĄœŚČõ ýĆœĄð
E ŰďŚśä ťąďć ŚfÞČÖţÆõ öŘĄŮüõ ,ùÀłĆţÔð ŰŚÊ£Èõ ŚŞ E ŰďŚśä Œþ ťĺďć ýùÀł ùćŚĺ ýÀœøöŚČõ ľďŚÚœ ßţłŘć ŚŞ ŚþŊ
.ÀČĂî ŠŚ£ţœŘ Řď ŠŘĄŻ ßþÂţúŞ .(ÀœďŘÀœ Ýû ĆŞ ťśÆœ üţþĄóøŘ ŚûÂðÛÞä ø ÝþďŘÀœ Řď E :ĆŻĄŮ) ?ťąŚĺ Řď
.ťĺŘ ŒŮ ŠŘĄŻ ø ťąŚĺ öŘĄŮüõ Řď E ŰďŚśä ťąďć :ÓóŘ
.ćďøŊ ťĺćĆŞ öŘĄŮüõ Řď ŠŘĄŻ Œþ ŚõŘ ,ťÆČœ ŒŮ ŚfõøÃó E ŰďŚśä ťąďć : Š
.ťąŚĺ öŘĄŮüÞœ Řď E ŰďŚśä ťąďć ŚûöŊ ýŘÂŞ Ćî ćďŘć 楯ø üþŚûñŚůõ : Ž
.ťąŚĺ Řď ťąďć öŘĄŮüõ ,ÀĂłŚŞ É£Èõ ŚûÂðÛÞä ťþĄóøŘ Ćî üŮďĄň ďć : ć
1 :ťĺďć ¿ĺŚŢ
üþøćøć ÂðÛÞä Œþ β Ćî ÝČĺÂŞ (a β b ýĆţłďÂþě Œþ ĆŞ ÀþŚŞ Śf Þţ§ ,ÝČĂî ùŚÚœ šİĆŞťĺŘď ěŘ ÂðŘ Řď Űä :Û§ùŘď
ßČóøŘ Ćî ćďŘć 楯ø (a β b) Űä Âþě Œþ ŚfÞţ§ öŊďć ø ťĺŘ ťĺďć E ŋÂê ÕśÏ öĄİ ćďŘć 楯ø ĆţłďÂþě ßþŘ .ťĺŘ
3
ø a šİ ÀœěÂê ø β ýĆÈþď ĆŞ ťąďćÂþě Œþ ,ÝþďŘćüõÂŞ Řď (a β b Śõ .楳üõ ŘÂŻŘ E ďć Ćî ÀĂîüõ É£Èõ Řď ýÂðÛÞä
ùćŚĺ ÀœøÛÞä Œþ Řď p ÅŢ ßþŘ ěŘ ø ÝČûćüõ ďŘÂì ťĺŘ ťąďćÂþě öŊ ĆŞ ĆÈþď Ćî p öŊ ýŚŻĆŞ ø ÝþěŚĺüõ b ťĺŘď ÀœěÂê
ÅŢ ,ćďŘć 楯ø ŰďŚśä ťąďć Œþ ÍÖê E ýŘÂŞ öĄİ .楳 ĆţąŚĺ E ÛõŚî ťąďć ŚŮ ÝČĂîüõ ďŘÂØŮ ŘďďŚî ßČÞû ø ÝþÂČðüõ
.ťĺŘ ŒŮ ŠŘĄŻ
?ćďøŊ ťĺćĆŞ öŘĄŮüõ öŊ ÂňŚĂä ßČŞ ĆÆþŚÖõ ÀĂİ ŚŞ ŘďŚî ŰďĄňĆŞ Řď ŰøŚÔţõ ÂňŚĂä ŚŞ ĆĂČÞî ôÂû Œþ ÂÊĂä ßþÂŮïďÃŞ (7
b(n + 1)/2c : ć
dn/2e − 1 : Ž
n−1 : Š
blg nc − 1 :ÓóŘ
3 :ťĺďć ¿ĺŚŢ
Ýû ŚŞ Řď ÂňŚĂä öŊ ťĺŘ üêŚî ÅŢ .(?ŘÂİ) ťÆČœ É£Èõ öŊ ÕČìć ýŚŻ ŚõŘ ,ťĺŘ ïÂŞ Œþ Śf Þţ§ ÂÊĂä ßþŘ :Û§ùŘď
ďć .ťêŚþ Řď öŚłßþÂŮïďÃŞ öŘĄŮüõ ĆÆþŚÖõ dn/2e − 1 ŚŞ ø ťĺŘ dn/2e ÂŞŘÂŞ (?? ñŘĄĺ ÕśÏ) ÂňŚĂä ßþŘ ćŘÀãŮ .ÝČĂî ĆÆþŚÖõ
b
.ćÂČð ŰďĄň ŚûöŊ üõŚÞŮ ßČŞ ĆÆþŚÖõ ÀþŚŞ ,ÀœÂČðüõ ďŘÂì Ýû ĆŞ ťśÆœ üňŚą řČŮÂŮ žČû öøÀŞ ŚûïÂŞ Ćî ŚŻöŊ ěŘ ,ßÞő
"ß þÂ ŮŒ þćà œ ß ţ êŚ þ’ ø éÁ § ,Žďć ñŚ Þ äŘ Ć î À þÂ Č Ú Ş Â Ñ œ ďć ij Č ¡ ň ćŘÀ äŘ ěŘ A ýĆ äĄ Þ ź õ ýøď Â Ş ýďŚ ţ ąŚ ĺùćŘć (8
Âû ýŘÂŞ ĆîýďĄÏĆŞ ťĺŘ ĆäĄÞźõ ďć x ∈ A ćÀä ßţêŚþ FindClosest(y) ěŘ ďĄÑĂõ .ćďøŊüõ ÝûŘÂê Řď (FindClosest)
.|x − y| ≤ |xi − y| :ÝČłŚŞ ĆţłŘć xi ∈ A
:üĂãþ .ťĺŘ ñŚÞäŘ ßþŘ ýŘÂŻŘ öŚõě ßþÂŮÇČŞ T ÀČĂî ŋÂê
T = max{TInsert , TDelete , TF indClosest }
?ťłŘć ÀûŘĄą Řď T ďŘÀÖõ ßþÂŮÝî Âþě ýŚûďŚţąŚĺùćŘć ěŘ ŒþôŘÀî
ùŚČĺ ŃÃõÂì ťąďć : ć
ôÂû : Ž
Ž.ć.ć : Š
řŮÂõ ťÆČó :ÓóŘ
4 :ťĺďć ¿ĺŚŢ
Œþ 楯ø ôÀä Śþ 楯ø ÉČ£ÈŮ öŊ éÀû ø 楳üõ ùćŚÔţĺŘ ñĄÞãõ ďĄÏĆŞ ŚûďŚţąŚĺùćŘć ďć Ćî Find(y) ÛÞä :Û§ùŘď
ß þŘ ,À œŘćÂðÂŞ Řď y ćĄ ą FindClosest(y) ÂðŘ ;ćŘć ÇûŚ î FindClosest(y) ĆŞ öŘĄ Ůü õ Řď ť ĺŘ ďŚ ţ ąŚ ĺùćŘć ďć ÂÊĂ ä
ýŘÂ Ş ,À łŚ Ş ť ąďć ďŚ ţ ąŚ ĺùćŘć  ðŘ ,Â Ú þć ýĄ ĺ ěŘ .ť Æ Č œ ŰďĄ ňß þŘ Â Č è ďć ø ť ĺŘ ćĄ ŻĄ õ ďŚ ţ ąŚ ĺùćŘć ďć Â Ê Ă ä
ß Č Ş ěŘ ø ùć î Ć êŚ őŘ ť ąďć Ć Ş fŘà ź õ Řď y ť ĺŘ ü êŚ î ,(À łŚ ś œ ť ąďć ďć y Ć î ü ŮďĄ ň ďć) FindClosest(y) Û Þ ä
ďć y üÜśì ÂÊĂä Ćî) Tree-Predecessor(y) ø (ÀœŘćÂðüõÂŞ Řď ťąďć ďć y ýÀãŞ ÂÊĂä Ćî) Tree-Successor(y)
ěŘ öŊ ďć ëĄê ñŚÞäŘ Ćî) ùŚČĺ-ÃõÂì ťąďć Ćî ťêŚþďć öŘĄŮüõ ,Óňø ßþŘ ŚŞ .ÝČĂî ŠŚ£ţœŘ Řď üØþ ,(ÀœŘćÂðüõÂŞ Řď ťąďć
ßþŘ ,ÀłŚŞ ÀœŘĄŮüõ n − 1 ťóŚ§ ßþÂŮÀŞ ďć ĄŻøťÆŻ üþøćøć ťąďć áŚÔŮďŘ öĄİ .ťĺŘ ĆĂþÃð ßþÂţúŞ (ťĺŘ O(lg n)
O(n) ťĺŘ ßØÞõ Ýû řŮÂõ ťÆČó ďć Žďć .ťĺŘ O(n) Ýû ôÂû ďć ÂÊĂä ßþÂŮŒþćÃœ ßţêŚþ ďŚî .ťÆČœ ŠŘĄŻ ďŚţąŚĺùćŘć
.楳
?ćďŘć 楯ø h = blg nc áŚÔŮďŘ ŚŞ öěŘĄţõ üþøćøć ťąďć ÀĂİ ÂÊĂä n ŚŞ (9
n
n−2h−1
¡
¢
: ć
n
n−2h
¡
¢
: Ž
¡
2h
¢
n−2h −1
:Š
1 :ÓóŘ
2 :ťĺďć ¿ĺŚŢ
ŋÂê ŚŞ .ÝČúœüõ ôŚœ T Řď ťąďć ßþŘ .ťĺŘ h = blg nc ÂŞŘÂŞ ÂÊĂä n ŚŞ üþøćøć ťąďć áŚÔŮďŘ ýĆĂČÞî ÝČœŘćüõ :Û§ùŘď
4
Ćî T 0 ôŚœ ĆŞ ÀœŚõüõ üìŚŞ Ćî üţąďć ŚûïÂŞ ßþŘ éÁ§ ŚŞ ø ćďŘć h áŚÔŮďŘ ďć ïÂŞ ćÀä 1 ≤ r ≤ 2h Śf Þţ§ T ,ö楪 öěŘĄţõ
ïÂ Ş ćÀ ä r = n − 2h − 1 Ć î ť ĺŘ T 0 öŚ Þ û T .ćďŘć ïÂ Ş 2h−1 ø ť ĺŘ Œ Ů T 0 .ť ĺŘ h − 1 áŚ Ô ŮďŘ Ś Ş Â Ţ ť ąďć Œ þ
.ťĺŘ
¡2h ¢
r
ÂŞŘÂŞ T ćŘÀãŮ ÅŢ .ťĺŘ ùÀł ĆêŚőŘ öŊ ýŚûïÂŞ ĆŞ ÀþÀŻ
ğŘbď Œþ ĆŞ u ğŘbď Œþ ěŘ ćĄŻĄõ ÂČÆõ ÝČûŘĄąüõ .ťĺŘ lg n áŚÔŮďŘ ĆŞ ø ùÂð n ŚŞ ÛõŚî üþøćøć ťąďć Œþ T ÀČĂî ŋÂê (10
üĺÂţĺć ďÀŢ ýùÂð ø ÀœěÂê ýŚûùÂð ĆŞ ťąďć ßþŘ ěŘ ùÂð Âû Ćî ÝČœŘćüõ ø ÀœŘùÀł ùćŘć v ø u ýŚûùÂð .ÝČŞŚČŞ u ôŚœ ĆŞ ÂÚþć
.ćďŘć
.ćŘć ôŚźœŘ O(n) ěŘ ÂŮÝî ďć öŘĄŮüÞœ Řď ďŚî ßþŘ :ÓóŘ
!ÝœŘćüÞœ : Š
.ťĺŘ ÂþÁŢöŚØõŘ O(lg n) ŚŞ ø ťąďć áŚÔŮďŘ ŚŞ řĺŚĂţõ ďŚî ßþŘ : Ž
.ćŘć ôŚźœŘ O(lg2 n) ďć öŘĄŮüõ Řď ďŚî ßþŘ : ć
3 :ťĺďć ¿ĺŚŢ
öŊ ďć Â Č Æ õ ß ţ êŚ þ Ć Ş Ć Ü ß Æ õ ,À œćĄ Ş ť ąďć þě Œ þ ďć v Ý û ø u Ý û  ðŘ .Ý Č Ă îü õ ùŚ Ú œ Řď ü Ü ňŘ ť ąďć þě øć :Û §ùŘď
Âû ďć .ťĺŘ ĆÈþď ĆŞ ğŘbď øć ßþŘ ěŘ Œþ Âû ěŘ ÂČÆõ øć âÞŻ ¿ĺŚŢ ,ÀœćĄŞ ťąďćÂþě øć ďć ÂðŘ .ÀŞŚþüõ ÇûŚî ťąďćÂþě
.ťĺŘ ťąďć áŚÔŮďŘ ýĆśŮÂõ ěŘ ýĆĂþÃû Ûî ñŚ§
ŚûĆóŚśœć ßþŘ ěŘ ŚŮÀĂİ ŚŞ .ÝþěŚÆŞ ŚŮŒþ ďĄÏĆŞ ŘďöŊ Ž.ć.ć ťąďć Œþ ěŘ ÂňŚĂä ÇþŚÞČŢ řČŮÂŮ ěŘ ýŘĆóŚśœć ßţłŘć ŚŞ ÝČûŘĄąüõ (11
?ťĺŘ üœÀł ďŚî ßþŘ
řČŮÂŮijÎĺ ø řČŮÂŮÅŢ ,řČŮÂŮöŚČõ ,řČŮÂŮÇČŢ
?.ÀœĄłüõ ŰŚìĚõ ťĺŘďĆŞšİ ěŘ ijÎĺ Âû ďć ø öŚłijÎĺ řČŮÂŮĆŞ ÂňŚĂä "1 řČŮÂŮijÎĺ’ ÇþŚÞČŢ ďć
3 : ć
2 : Ž
1 :Š
0 :ÓóŘ
4 :ťĺďć ¿ĺŚŢ
ýĆóŚśœć ÅŢ .ÀĂţÆû abc řČŮÂŮöŚČõ ýĆóŚśœć ýŘďŘć C ø B ,A ťąďć Ćĺ Âû ,楳üõ ùÀûŚÈõ ?? ÛØł ďć ĆîöŚĂİ :Û§ùŘď
řČŮÂŮÅŢ ,řČŮÂŮÇČŢ ýŚûĆóŚśœć ěŘ Œþ Âû ßţłŘć ŚŞ ,ÂÚþć ýĄĺ ěŘ .ÀĂîüÞœ ßČČãŮ ŚŮŒþ ŰďĄňĆŞ Řď ťąďć řČŮÂŮöŚČõ
(ĆÈþď ěŘ ÂŮïďÃŞ) ťĺŘď ťÞĺ ťąďćÂþě ø (ĆÈþď ěŘ ÂŮŒİĄî) šİ ťÞĺ ťąďćÂþě ÂňŚĂä Åşĺ ø ĆÈþď ŘÀţŞŘ öŘĄŮüõ
ýĆÞû .ťĺŘ ĆÈþď ÂÊĂä ßČóøŘ ;ťĺŘ ĆŞŚÈõ ľøď Ýû řČŮÂŮijÎĺ ćďĄõ ďć .ťąŚĺ Řď ŚûöŊ üţÈð쌪 ŰďĄňĆŞ ø ťêŚþ Řď
üţÈð쌪 ŰďĄÏĆŞ ŒþÂû Ćî ÀĂţÆû ťĺŘď ťÞĺ ťąďć ĆČÖŞ ø šİ ťÞĺ ťąďć ÀĂłŚŞ ÂŮÝî ĆÈþď ßþŘ ěŘ Ćî ýÀãŞ ÂňŚĂä
.楳üõ ĆţąŚĺ
a
b
c
a
b
c
(A)
b
c
a
(B)
(C)
level-order1
5
?ťąŚĺ öŘĄŮüõ ĆĂČÞî áŚÔŮďŘŚŞ üþďćøć ťąďć ÀĂİ ÂÊĂä 25 ŚŞ (12
¡14¢ ¡16¢
56 + 4 + 6
:Š
¡8¢¡14¢ ¡16¢
+
+
2
2 3
10 : ć
¡8¢
¡8¢
¡14¢
¡16¢
¡10
16¢
2 +8 3 + 6
:ÓóŘ
: Ž
3 :ťĺďć ¿ĺŚŢ
ďć) ÀĂłŚŞ ĆţłŘć 楯ø ÀþŚŞ 2 ÕÞä ýùÂð 4 Âû ÂÚþć ýĄĺ ěŘ .ÀłŚŞ blg(25)c = 4 ÀþŚŞ ťąďć ßþŘ áŚÔŮďŘ ÝČœŘćüõ :Û§ùŘď
10 ,ÀĂłŚŞ ĆţłŘć ďĄÌ§ ùÂð 8 Âû ,ôĄĺ ÕÞä ďć Ćî üŮďĄň ďć .ťêÂð ÀûŘĄą (ğŘbď 24 ÂůîŘÀ§ ťąďć ŰďĄňßþŘ ÂČè
¡16¢
.ÀĂłŚŞ ĆţłŘć ďĄÌ§ ôďŚúİ ÕÞä ďć ø ù楪 ùÂð 8 öŊ öŘÀœěÂê ÀĂœŘĄŮüõ ťóŚ§ 10 ĆŞ ùÀœŚõüìŚŞ ýùÂð
¡8¢
ĆŞ ÂÚþć ÂÊĂä 11 ø ÀœÂČÚŞ ďŘÂì ÀĂœŘĄŮüõ ťóŚ§ 7 = 7 ĆŞ ŚûùÂð ßþŘ ćĄą ,ÀłŚŞ ŚŮ 7 ôĄĺ ÕÞä ýŚûùÂð ĆîüŮďĄň ďć
¡14¢
.ÀĂłŚŞ ôďŚúİ ÂÎĺ ďć ÀĂœŘĄŮüõ 11
¡8¢
ÀĂţÆû ŚŮ 12 Ćî ŚûùÂð ÂþŚĺ ø ÀœĄł ŠŚ£ţœŘ ÀĂœŘĄŮüõ ťóŚ§ 6 ĆŞ ùÂð 6 ßþŘ ćĄą ,ÀĂłŚŞ ùÂð 6 ôĄĺ ÕÞä ýŚûùÂð ÂðŘ ŚõŘ
,ÀłŚŞ ÂŮÝî Śþ ŚŮ 5 ôĄĺ ÕÞä ýŚûùÂð Ćî üŮďĄň ďć ÅŢ .ÀĂĂČÈĂŞ ťóŚ§ Œþ ĆŞ ôďŚúİ ÂÎĺ ßØÞõ ýĆœŚą 12 ďć ŚfõŘÃóŘ ÀþŚŞ
.ťÆČœ ŠĄÜÎõ Ćî 楪 ÀûŘĄą 22 ŚûùÂð Ûî ćŘÀãŮ ÂůîŘÀ§
ťĺďćŚœ ťąďć ßþŘ ćďĄõ ďć Âþě ýŚûĆĂþÃð ěŘ ŒþôŘÀî .ÀłŚŞ Ž.ć.ć Œþ řČŮÂŮöŚČõ ýĆóŚśœć ha1 , a2 , . . . , an i Ćî ÀČĂî ŋÂê (13
?ťĺŘ
.ćďŘÀœ ÛňŚ§ ťąďć ďć ýÂČŹŚbŮ ai+1 ø ai ÂÊĂä øć éÁ§ řČŮÂŮ :ÓóŘ
.(øćÂû Śþ) öŊ ťĺŘď ťąďć Âþě ďć ai+1 Śþ ťĺŘ ai šİ ťąďć Âþě ďć ai−1 Śþ ,ÀłŚśœ ïÂŞ ai ÂðŘ : Š
.ćďŘÀœ šİ ÀœěÂê ai+1 ,ÀłŚŞ ĆţłŘć ÀœěÂê øć (i < n) ai ÂðŘ : Ž
.ćďŘÀœ ťĺŘď ÀœěÂê ai−1 ,ÀłŚŞ ĆţłŘć ÀœěÂê øć (i > 1) ai ÂðŘ : ć
1 :ťĺďć ¿ĺŚŢ
ďć ÝČœŘćüõ ,ÂÚþć ýĄĺ ěŘ .ťĺŘ ÂŹĄ õ ťąďć ďŚţąŚĺ ďć éÁ§ řČŮÂŮ Ćî ÝþćŘćöŚÈœ ?? ÂČą -üÜŞ ÇĺÂŢ ďć :Û§ùŘď
b
ÂŞŘÂŞ ai−1 ŰďĄň öŊ ďć ;ÀłŚŞ 楯Ąõ ai šİ ÀœěÂê ÝČĂîüõ ŋÂê .ćďŘć ÀœěÂê Œþ Ýîť
c ĺć ,ÀłŚśœ ïÂŞ ai Ćî üŮďĄň
.ťłŘć ÀûŘĄą 楯ø öŊ šİ ťÞĺ ťąďćÂþě ďć ĆźČţœ ďć ø 楪 ÀûŘĄą left[ai ] ýĆĂČÈČŞ ÂÊĂä
ÀûŘĄą Tree-Minimum(Right[ai]) ÂŞŘÂŞ ,(ťĺŘ Tree-Successor(ai ) Ćî) ai+1 ,ÀłŚŞ ĆţłŘć ťĺŘď ÀœěÂê ai ÂðŘ ŚõŘ
ý ŮÝ î ďŘÀ Ö õ À œě ê öŊ ŰďĄ ň öŊ ďć Ř þě ;À łŚ Ş Ć ţ łŘć š İ À œě ê À œŘĄ Ůü Þ œ Ç ŞŘĄ Ż ,â ŞŚ Ů ß þŘ Ó þ ã Ů Õ ś Ï Ć î ćĄ Ş
.ťĺŘ ťĺďć ÃČœ ôďŚúİ ýĆĂþÃð ýùďŘÃð Ćî ćŘć öŚÈœ öŘĄŮüõ ,ĆŞŚÈõ üóĎÀţĺŘ ŚŞ .ťĺŘĆţłŘćüõ
:ŚŞ ťĺŘ ÂŞŘÂŞ ťĺŘ h öŊ ýĆÈþď áŚÔŮďŘ ŃùŚČĺ Ćî ùŚČĺ ŃÃõÂì ťąďć Œþ üÜąŘć ÂňŚĂä ćŘÀãŮ ýĆĂČÈČŞ (14
22h+1 − 1 : ć
22h − 1 : Ž
2h+1 − 1 : Š
2h − 1 :ÓóŘ
3 :ťĺďć ¿ĺŚŢ
ĆţłŘć Řď ÃõÂì ýŚûùÂð ćŘÀãŮ ÂůîŘÀ§ ÀþŚŞ üúŮ ïÂŞ ĆŞ ĆÈþď ěŘ ÂČÆõ Âû ,楳 ĆĂČÈČŞ üÜąŘć ÂňŚĂä ćŘÀãŮ ĆîöŊ ýŘÂŞ :Û§ùŘď
öŊ áŚÔŮďŘ ŃùŚČĺ ďć ĆÈþď Ùœď ø ùŚČĺ üúŮ ïÂŞ Ćî ÝþďŘć ĆŻĄŮ .ÀłŚŞ ÃõÂì ,ùŚČĺ ýùÂð Âû ďÀŢ Ćî ťĺŘ üõŚÚĂû ßþŘ ø ÀłŚŞ
áŚÔŮďŘ Ćźśţœ ďć .ťĺŘ ÃõÂì ø ùŚČĺ ÂňŚĂä ÛõŚł öŚČõ ďć Œþ üúŮ ïÂŞ ĆŞ ĆÈþď ěŘ ýÂČÆõ Âû ťóŚ§ ßþŘ ďć .ćďŘÀœ ýÂČŹŚb Ů
P
.ťĺŘ
2h − 12i = 22h − 1 üţąďć ßČĂİ ßþŘ üÜąŘć ÂňŚĂä ćŘÀãŮ .ťĺŘ 2h ÂŞŘÂŞ üúŮ ïÂŞ ŠŚÆţ§Ř ŚŞ ťąďć
i=0
.ťĺŘ ùŚČĺ ĆÈþď ÀČĂî ŋÂê ?楳 ùŚČĺ ŃÃõÂì ťąďć ŚŮ ćÂî Ùœď Řď Âþě ťąďć ýŚûùÂð öŘĄŮüõ ťóŚ§ ÀĂİĆŞ (15
6
3 : ć
2 : Ž
1 :Š
0 :ÓóŘ
13
14
6
22
9
1
8
2 :ťĺďć ¿ĺŚŢ
ĆÞû (23 ø 14 ,9 ,8 ,1 ýŚûřÆİÂŞ ŚŞ ýŚûùÂð üĂãþ) ŚûïÂŞ öŘďÀŢ .ÝČĂîüõ ěŚèŊ ÀĂţÆû ùŚČĺ Ćî üúŮ ýŚûïÂŞ ěŘ :Û§ùŘď
öŚÈœŘďÀŢ ßþŘÂŞŚĂŞ ø ÀĂłŚŞ ÃõÂì ÀþŚŞ 22 ø 8 řÆİÂŞ ŚŞ ýŚûùÂð Ćî ÝČŞŚþüõ ďć ŰŚäĚÏŘ ßþŘ ěŘ .ÀĂţÆû 1 áŚÔŮďŘ ŃùŚČĺ ýŘďŘć
ĆźČţœ ßþŘ ěŘ .楳üõ 2 ÂŞŘÂŞ 14 ø 13 ýŚûùÂð áŚÔŮďŘ ŃùŚČĺ ĆźČţœ ďć .ÀĂłŚŞ ùŚČĺ ÀþŚŞ 14 ø 9 řÆİÂŞ ŚŞ ýŚûùÂð üĂãþ
ľøď ßþŘ ?? ÛØł .ťĺŘ ťąďć ßþŘ ýÃČõŊÙœď ùŘď ŚúĂŮ ßþŘ ø ÀĂłŚŞ ùŚČĺ ÀþŚŞ ĆÈþď ÃČœ ø 14 ø 9 ,1 ýŚûùÂð Ćî ÝþÂČðüõ
.Àûćüõ öŚÈœ Řď
2
13
2
14
6
1 1
9
8
1
1
22
1
1
ěŘ ÛÖţÆõ) ŘďŚî ÝţþďĄÚóŘ Œþ ŚŞ Řď ŚûöŊ üìĚŮ ŕŚÖœ ćŘÀãŮ ÝČûŘĄąüõ .ÀœŘùÀł ùćŘć ýćĄÞä ÍąĆãÎì m ø üÖêŘ ÍąĆãÎì n (16
?ťĺŘ ÂþÁŢöŚØõŘ üœŚõě Ćİ ďć ďŚîßþŘ .ÝþďøŚČŞ ťĺćĆŞ (ŠŘĄŻ ćŘÀãŮ
O((n + m) lg(n + m)) : Š
O(n + m lg n) :ÓóŘ
O(n + m lg(n + m)) : ć
O(n + m lg m) : Ž
2 :ťĺďć ¿ĺŚŢ
Íą Œþ ŚŞ ßČþŚŢ ĆŞ ĎŚŞ ěŘ ø ÝČĂîüõ řŮÂõ Řď (üÖêŘ Íą Âû ŋÂä ø ýćĄÞä ŕĄÎą Âĺ øć) ŕŚÖœ x ŰŚÊţ£õ :Û§ùŘď
âÎì Řď Šø Íą Ćî üÏĄÎą ěŘ ýďŚõŊ ýĆśŮÂõ ťąďć Œþ ýĆܧÂõ Âû ďć .ÝČĂîüõ ŰŚìĚõ řČŮÂŮĆŞ Řď ŕŚÖœ ßþŘ Šø
ø Žďć Íą öŊ x ýćĄÞä Íą Œþ üþĎŚŞ Âc ĺ öÀþć ŚŞ ?? ÇĺÂŢ ÝţþďĄÚóŘ ěŘ ùćŚÔţĺŘ ŚŞ .ÝČĂîüõ 挟þŘ ŰďĄň ßþŘ ĆŞ ÀĂîüõ
.楳üõ éÁ§ Íą öŊ üĂČþŚŢ Âcĺ ŚŞ
ŚŞ üìĚŮ ŕŚÖœ ýĆÞû ø ÝČûćüõ ôŚźœŘ Řď Find(a, b) ÛÞä (b ø a Ě
f ůõ) öŊ Âĺ øć ćŚÊţ£õ ßţłŘć ø üÖêŘ Íą Œþ öÀþć ŚŞ
ßČÞû ø Žďć  m .ÀþŊüõ ťĺćĆŞ ÇĺÂŢ ¿ĺŚŢ ,üÖêŘ ŕĄÎą ýĆÞû ŰŚìĚõ ěŘ ÅŢ .ÝþďøŊüõ ťĺćĆŞ Řď üÖêŘ Íą ßþŘ
ÛÞä  n ,n lg m Ûî ýĆĂþÃû ŚŞ .ťĺŘ lg m ÂůîŘÀ§ öŊ áŚÔŮďŘ ø m ÂůîŘÀ§ ťąďć ýùěŘÀœŘ ø ťłŘć ÝČûŘĄą éÁ§ ćŘÀãŮ
.ťĺŘ 2 ¿ĺŚŢ ßþŘÂŞŚĂŞ .ćďŘć ěŚČœ öŚõě O(n + m) lg(n + m)) ĆŞ ŕŚÖœ ýĆÞû ýěŚĺřŮÂõ ŚõŘ .楳üõ ôŚźœŘ Find
7
Řď  ŮÝ î áŚ Ô ŮďŘ Ś Ş ť ąďć öŊ ďć ôŚ èćŘ ø ćĄ łü õ ýěŚ ĺùćŚ Č Ţ ť ąďć ěŘ ùćŚ Ô ţ ĺŘ Ś Ş Ć î "Řà ź õ ýŚ ûĆ äĄ Þ ź õ’ ďŚ ţ ąŚ ĺùćŘć (17
Řď ďŚţąŚĺùćŘć ßþŘ ÝČûŘĄąüõ .楳üÞœ ôŚźœŘ ÂČÆõ ýěŚĺùćÂÈê öŊ ďć ø ÀĂîüõ ÂŮÇČŞ áŚÔŮďŘ ŚŞ ťąďć ýĆÈþď ťąďćÂþě
Ýû Řď Historical-Find(x, y, t) ÛÞä ÀœŘĄţŞ ,"ôŚèćŘ’ ø "ßţêŚþ’ ,"ĆäĄÞźõ 挟þŘ’ ñŚÞäŘ ÂŞ ùøĚä ŚŮ ÝČûć ÂČČçŮ ýďĄÏ
ÛÞä ßČõŘe t ,t öŚõě ěŘ ďĄÑĂõ .ÂČą Śþ ÀœŘù楪 ĆäĄÞźõ Œþ ďć t öŚõě ďć y ø x ŚþŊ Ćî ťĺŘ üĂãõ ßþŘ ĆŞ ÛÞä ßþŘ .Àûć ôŚźœŘ
ďć ÀĂûŘĄ£Ş ñŚÞäŘ ÂþŚĺ ĆîüŮďĄňďć Historical-Find ÛÞä Âû öŚõě .楳üõ ôŚźœŘ ďŚţąŚĺùćŘć ßþŘ ýøďÂŞ Ćî ťĺŘ
?ťĺŘ ôŘÀî Ýîť
c ĺć ,ÀĂØœ ÂČČçŮ üêÂÊõ ýĆÑêŚ§ üðÀČżČŢ ø ,ÀœĄł ôŚźœŘ öŚłŘÕŞŚĺ üêÂÊõ öŚõě öŚÞû
O(1) ßØłÂĺ : Š
O(1) :ÓóŘ
O(n) : ć
O(lg n) : Ž
3 :ťĺďć ¿ĺŚŢ
ÛÞä ßþŘ ěŘ Ûśì ÛÞä ßþÂąŊ ÂŞŘÂŞ (öŚõě) ľÂţõŘďŚŢ ßČõĄĺ üŮďĄň ďć Historical-Find ÛÞä Ćî ťĺijőŘø :Û§ùŘď
.ťĺŘ Ω(lg n) ěŘ ÛìŘÀ§ ťóŚ§ ßþÂŮÀŞ ďć ÛÞä ßþŘ ,øď ßþŘ ěŘ .Àûćüõ ôŚźœŘ Řď "ßţêŚþ’ ďŚî öŚÞû ,ÀłŚŞ
ÀœěÂê ñŚÊŮŘ (ÛÞä ÅþÀœŘ) öŚõě ,ôŚèćŘ Âû ďć ťĺŘ üêŚî O(lg n) öŚõě ďć Historical-Find Œþ ĆŞ öćŘć ¿ĺŚŢ ýŘÂŞ ŚõŘ
.ÝČĂî ùÂČąč ÀœěÂê ýŘÂŞ Řď ľÀþÀŻ ďÀŢ ĆŞ
ÂÚþć Ćî) öŚłÀŻ ßþÂąŊ ŚŮ y ø x ěŘ ùÀł áøÂł ýŚûÂČÆõ ŚŮ ťĺŘ üêŚî ,Śõ ťąďć ğŘbď Âû ýŘÂŞ áĚÏŘ ùÂÖê ßþŘ ßţłŘć ŚŞ
ÂðŘ Ćî ťĺŘ ijőŘø .ÝþćÂÚŞ ÂČÆõ øć ßþŘ ďć áŚÔŮďŘ ĆśŮÂõ ßþÂŮÝî ŚŞ íÂţÈõ ďÀŢ ñŚśœćĆŞ ø ùćÂî ĆÆþŚÖõ Ýû ŚŞ Řď (ćďŘÀœ ýďÀŢ
ŚûĆäĄÞźõ öĄİ) ÀœŘù楜œ ĆäĄÞźõ Œþ ďć ÃðÂû y ø x üĂãþ (ÂőŚ§ öŚõě ďć) ÀĂłŚŞ ĆţłŘÀœ üœŚÆØþ ýŚúţœŘ ÂČÆõ øć ßþŘ
öŚõÃÞû ñøŘ ĆŞ ÂąŊ ěŘ ťĺŘ üêŚî ÀłŚŞ öŚÆØþ ÂČÆõ øć ßþŘ ýŚúţœŘ Ćî Ýû üŮďĄň ďć .(ÀœĄłüÞœ ŒİĄî Śþ ĆþÃźŮ ÃðÂû
ùÀłťśŹ öŚõě .ÝČŞŚČŞ Řď öŚłŰøŚÔŮ ßČóøŘ ŚŮ (ÀłŚŞ ĆþĄĺøć ďÀŢ ŒĂČó ÀþŚŞ üĂãþ) ÝČĂî ťî§ ÅØä ťúŻ ďć ÂČÆõ øć ýøď
öŚõě ßþŘ ýĆÆþŚÖõ ,ùÀœŚõ Ćî ýďŚî ŚúĂŮ öĄĂîŘ .ťĺŘ y ø x öÀł ĆäĄÞźõÝû öŚõě öŚÞû ,ÂČÆõ øć ßþŘ ñŚÊÔœŘ ßČóøŘ ýøď ÂŞ
.ťĺŘ ùÀł ñŚĺďŘ t ÂţõŘďŚŢ ŚŞ
.ťĺŘ ôŚźœŘ ÛŞŚì O(lg n) öŚõě ďć ÃČœ ÛÞä ßþŘ ÅŢ (?ŘÂİ) ťĺŘ O(lg n) ěŘ ôŘÀî Âû ŚûÂČÆõ ßþŘ ñĄÏ Ćî ŚŻöŊ ěŘ
8