2.analysis-slides.pdf

‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
Àƒ÷¿“ ’‘µî ¥
.Àƒ÷¿“ ¤ ’‘µî 3 ø 1 ý‘ûÛÊê
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
1
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
‘ûݵþ¤Úó ۃܽ— ý‘û©ø¤
:‘ûݵþ¤Úó ۃܽ— ¥ éÀû
üêÂÊõ ý‚Ñꑟ ¤ÀÖõ ø Â› ö‘õ¥ ÂÑ÷ ¥ ,ý¥‘¨ù¢‘ƒ• ¥ Û±ì ݵþ¤Úó ¤‘µê¤ ü¨¤Â“
•
üþ¤‘î ÂÑ÷ ¥ Ýû ‘“ ‘ûݵþ¤Úó ý‚Æþ‘Öõ
•
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
2
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
‘ûݵþ¤Úó ýÂ› ö‘õ¥
:À÷™õ ‚õ‘÷“ ×þ ýÂ› ö‘õ¥ ¤¢ Âþ¥ Ûõä
¤Ãê ´¿¨ ´ä¨ (1
ÂÜþ‘³õ‘î á÷ (2
‚ÜÿÆõ ý¢ø¤ø ýù¢¢ ýù¥À÷ (3
ý¢ø¤ø ýù¢¢ °ƒî— (4
ݵþ¤Úó üðÀƒ»ƒ• (5
À÷¤¢ Â› ö‘õ¥ ¤¢ ´“‘™ ƒ™‘— ‚î ÂÚþ¢ ý‘ûµõ¤‘• (6
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
3
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
‚ÜÿÆõ ý¢ø¤ø ýù¥À÷
$
n ,T (n)
:ݵþ¤Úó ýÂ› ö‘õ¥
:‚›—
…
f ·õ :݃ª‘“ ‚µª¢ ý¢ø¤ø ýù¢¢ À€ ´¨ ßØÞõ
•
T (n, m) Â› ö‘õ¥ ,m “Â“ ‘ûñ‘þ ¢À㗠,n “Â“ ‘û§¤ ¢À㗠,éÂð ×þ •
abstraction) áÃµ÷ ,µõ¤‘• À€ •
(
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
4
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
(
Insertion-Sort)
$
ü›¤¢ ¥‘¨°—Âõ :ñ‘·õ
ùÀª°—Âõ
A
1
i
n
k
key
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
5
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
Insertion-Sort (A, n)
. A: (the array to sort)
. n: (size of array)
1 for k ← 2 to n
2
do key ← A[k]
3
i ← k−1
4
while i > 0 and A[i] > key
5
do A[i + 1] ← A[i]
6
i ← i−1
7
A[i + 1] ← key
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
6
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
$
8
2
4
9
3
6
3
2
8
4
9
3
6
3
2
4
8
9
3
6
3
2
4
8
9
3
6
3
2
3
4
8
9
6
3
2
3
4
6
8
9
3
2
3
3
4
6
8
9
7
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
ÂΨ
‚€þÃû
¢Àã—
c1
c2
c3
n
n−1
n−1
4
c4
tk
5
c5
6
c6
7
c7
1
2
3
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
n
X
k=2
n
X
k=2
n
X
k=2
$
(tk − 1)
(tk − 1)
n−1
8
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
T (n) = c1n + (c2 + c3 + c7)(n − 1) + c4
(c5 + c6)
= An + B
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
n
X
(tk − 1)
$
n
X
k=2
tk +
k=2
n
X
k=2
tk + C
9
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
´ó‘Ÿ ßþ—À“
worst-case)
:(
.Àª‘“ ùÀª °—Âõ ÅØä“ ‚þ¤ ‚î ´¨ ü÷‘õ¥ ßþ ø ´¨
T (n) = An + B
= An + B
n
X
k=2
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
(n + 1)(n + 2)
10
“Â“
tk
¤ÀÖõ ·îÀŸ
tk + C
= an2 + bn + c
&
k
´ó‘Ÿ ßþ—À“ ¤¢
2
+C
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
´ó‘Ÿ ßþ—‚“
ø
tk = 1 Ýþ¤¢ ´ó‘Ÿ ßþ ¤¢
.Àª‘“ °—Âõ Û±ì ¥ ‚þ¤ :(
best-case) ´ó‘Ÿ ßþ—‚“
T (n) = An + B(n − 1) + C
.¢¤¢ –ø‘Ô— ´¨ ø¢ ‚›¤¢ ‚î ´ó‘Ÿ ßþ—À“ ‘“ ø ´¨ üΡ
n °ÆŸÂ“ ‚î
average-case) ߃Ú÷‘ƒõ ´ó‘Ÿ ßµê‘þ ý‚ÜÿÆõ ŕ
.¢ªüõ žÂÎõ (
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
11
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
߃Ú÷‘ƒõ ´ó‘Ÿ
.´¨ ù¢¢ üꢑʗ –¤¬ ‚“ ý¢ø¤ø ýù¢¢
(
1)
n!
À÷¤¢ “Â“ ñ‘ÞµŸ ,ý¢ø¤ø ý‘ûù¢¢ Óܵ¿õ ý‘û´ó‘Ÿ ý‚Þû ‚î ¢ªüõ ­Âê
‘“ ´¨ “Â“ ëê ñ‘·õ ¢¤õ ¤¢ ߃Ú÷‘ƒõ ´ó‘Ÿ
T (n) = An + C +
1
n!
X
n! i=1
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
1
n!
X
n
X
n! i=1 k=2
Btk,i
tk,i = tk .
12
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ü€ãþ
T (n) = An + C + B
T (n) = An + C + B
tk = k − i + 1 ⇐=
n
X
tk .
n
X
tk
k=2
k=2
1 ≤ i ≤ k) ¢ÂƒÚ“ ‘› ö ¤¢ Àþ‘“ Ìä ‚î ¤ ü÷‘Øõ :i
.(
k
X
1
(k − i + 1)
k
i=1
1 k(k + 1)
= ×
k
2
k+1
=
tk =
2
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
13
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
T (n) = An + C + B
n
X
k=2
0
= a0n2 + b0n + c
$
k+1
2
.´¨ ö‘ÆØþ ´ó‘Ÿ ßþ—À“ ø ߃Ú÷‘ƒõ ´ó‘Ÿ ¤‘µê¤ ŕ
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
14
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
üþø¢ø¢ š¤¢ ý¥‘¨°—Âõ
üþø¢ø¢ –¤¬‚“ Âʀä ×þ š¤¢ ‘õ .ֵ݃Æõ š¤¢ ý¥‘¨°—Âõ :üܱì ݵþ¤Úó
Binary-Search (A, l, r, key)
.
A
.
A[i]
key
1 if l ≥ r
2
then i = l
3 m ← b l+r
c
2
4 if key ≤ A[m]
5
then i ← Binary-Search(A, l, m − 1)
6
else i ← Binary-Search(A, m + 1, r)
7 return i
´¨ °—Âõ
ý‚þ¤
¢ª š¤¢ ‚þ¤ ¤¢
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
¥ Û±ì
‘
fÞµŸ
‚îý¤Ï‚“ ßî Àƒ• ¤
15
l≤i≤r
ÅþÀ÷
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
üþø¢ø¢ š¤¢ ý¥‘¨°—Âõ ۃܽ—
?¢Âî ý¥‘¨ù¢‘ƒ• ¤ üþø¢ø¢ š¤¢ ý¥‘¨°—Âõ ö—üõ ‚÷Ú ø üþÂ› ö‘õ¥ ‚ ‘“
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
16
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
üþø¢ø¢ š¤¢ ý¥‘¨°—Âõ ۃܽ—
?¢Âî ý¥‘¨ù¢‘ƒ• ¤ üþø¢ø¢ š¤¢ ý¥‘¨°—Âõ ö—üõ ‚÷Ú ø üþÂ› ö‘õ¥ ‚ ‘“
.´¨ ÂþÁ•ö‘Øõ
n lg n ‘“ °¨‘€µõ ý‚€þÃû ‘“ ¤‘î ßþ fÂû‘Ò

.´Æƒ÷ ßØÞõ ‚€þÃû ßþ ‘“ ‚þ¤ ‘“ ý¥‘¨ù¢‘ƒ• ‘õ
(ù‘ƒ¨-ÃõÂì ´¡¤¢ À€÷‘õ) ‚µê¤Çƒ• ¤‘µ¡‘¨ù¢¢ ‘“ ¤ °—Âõ Ç¿“ Àþ‘“ ‚€ƒú“ üþ¤‘î ýÂ“
.¢Âî ý¥‘¨ù¢‘ƒ•
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
17
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
‘ûݵþ¤Úó ‚±—Âõ
complexity of algorithms) ‘ûݵþ¤Úó üðÀƒ»ƒ•
(
߃ª‘õ ýÂ“ ´±Æ÷
“Â“ 1000
´±Æ÷
—âþ¨
&
ü¨Àì ÀÞ½õ
c
ù¥À÷Â·îÀŸ
ýù¥À÷ ·îÀŸ
10 ߃ª‘õ ýÂ“
۟ ۓ‘ì ,‚ÜÿÆõ
—âþ¨ “Â“
‚ƒ÷‘™ 1000 ¤¢
1000
10
100
10
131*94
3*2
45
14
125*99
2*3
27
12
2
1*3
13
10
1388 Âúõ 18
18
O(.)
T (n)
O(n) 100n
O(n2) 5n2
O(n3) n3/2
O(2n)
2n
ݵþ¤Úó
A1
A2
A3
A4
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
.‚ÜÿÆõ ×þ ýÂ“ ݵþ¤Úó ¤‘ú ýÂ› ý‘ûö‘õ¥
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
19
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
growth functions)
(
$
Àª¤ ý‘ûⓑ—
Ω ø Θ ,O
¢‘Þ÷ ‚¨
݃þðüõ
.´¨
T (n) = Θ(n2) ü›¤¢ ý¥‘¨°—Âõ ݵþ¤Úó ´ó‘Ÿ ßþ—À“ •
.´¨
.´¨
.´¨
ü¨Àì ÀÞ½õ
c
Õƒì¢ ý‚±—Âõ ¥ ü€ãþ
Θ(n2) Ã÷ ߃Ú÷‘ƒõ ´ó‘Ÿ ¤¢
n lg n ý‚±—Âõ ¥ ‘þ O(n lg n) ¥ (heap sort) üõÂû ý¥‘¨°—Âõ ݵþ¤Úó •
.À€µÆû
&
n2
1388 Âúõ 18
Ω(n lg n) ¥ ,ý‚Æþ‘Öõ ý¥‘¨°—Âõ ý‘ûݵþ¤Úó ý‚ƒÜî •
20
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ÓþÂã—
Θ(g(n)) = {f (n) : ∃c1, c2 > 0 and n0 > 0 such that
∀n ≥ n0, 0 ≤ c1g(n) ≤ f (n) ≤ c2g(n)}
ý‚ ›¤¢
&
ü¨Àì ÀÞ½õ
n
c
ï¤Ã “  þ¢‘ Ö õ ýÂ “ ‚ î ´ ¨ ü € ã õ ß þ ‚ “
1388 Âúõ 18
21
c1g(n) ≤ f (n) ≤ c2g(n) –¤‘ ± ä
.´¨ ö‘ÆØþ g ø f Àª¤
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
c2g(n)
f (n)
c1g(n)
n
n0
f (n) = Θ(g(n))
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
22
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
f (n) ∈ Θ(g(n))
:݃þðüõ
.´¨
f (n) ýÂ“ (asymptotically tight bound) ü±÷‘¹õ ý‚µÆ“ ý„‘“ öÂî g(n) ⓑ—
—ù¢‘¨ Ûت‚“
f (n) = Θ(g(n))
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
23
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
T (n) = Θ(n2) ,ü›¤¢ ¥‘¨°—Âõ ݵþ¤Úó ¢¤õ ¤¢
$
.
‚î ´ê‘þ ý¤Ï ¤
c2
ø
c1
ýÂ“ üµ±·õ Âþ¢‘Öõ ö—üõ Âþ¥
c1n2 ≤ an2 + bn + c ≤ c2n2
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
24
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
100n2 + 5n − 4 = Θ(n2) ‚î Àƒ€î ´“‘™
.
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
25
$
:‚ÜÿÆõ
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
100n2 + 5n − 4 = Θ(n2) ‚î Àƒ€î ´“‘™
.
$
:‚ÜÿÆõ
:۟
Ýþ¤¢
n > 1 Âþ¢‘Öõ ý‚Þû ýÂ“ ,c2 = 200 ø c1 = 1 Âð
c1n2 ≤ 100n2 + 5n − 4 ≤ c2n2
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
26
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
100n2 + 5n − 4 6= Θ(n3) ‚î Àƒû¢ ö‘È÷
.
$
:‚ÜÿÆõ
:۟
‚î ¢ªüÞ÷ Àƒ•
n0
ýÂ“ ¤ÀÖõ ×þ ø
c2
ø
c1
ýÂ“ ´±·õ Âþ¢‘Öõ ºƒû ‚î ݃û¢ ö‘È÷ Àþ‘“
ý‚Ф
c1n3 ≤ 100n2 + 5n − 4 ≤ c2n3
.Àª‘“ ¤Âì“
.
n > n0
Âþ¢‘Öõ ý‚Þû ýÂ“
c1n3 6≤ 100n2 + 5n − 4 Ýþ¤¢ ï¤Ã“ ý‘ûn ýÂ“ ø c1 > 0 ¤ÀÖõ Âû ý¥‚“ ž®ø‚“
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
27
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
,´¨ Ç÷— ßþ—ï¤Ã“ ‘“ ý‚Üޛ Õƒì¢ ý‚±—Âõ ¥ ý‚ÜޛÀ€ Âû ‚î ¢Âî ´“‘™ ö—üõ
ü€ãþ
ak nk + ak−1nk−1 + · · · = Θ(nk )
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
28
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
:Ýþ¤¢ ü›¤¢ ¥‘¨°—Âõ ¢¤õ ¤¢
T (n) = Θ(n2)
= Θ(100n2)
6= Θ(n3)
6= Θ(n2 lg n)
6= Θ(n lg n)
¢Âî Àƒ• ¤
c2
ø
c1
ý‘û´“‘™ ö—üÞ÷ ‚î ¢¢ ö‘È÷ Àþ‘“
T (n) 6= Θ(n lg n) –‘±™ ýÂ“
:݃ª‘“‚µª¢
n > n0
ýÂ“ ‚î
c1n lg n ≤ n2 ≤ c2n lg n
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
29
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
O
$
¢‘Þ÷
:݃€îüõ ÓþÂ㗠Âþ¥ ⓐ— ý‚äÞ¹õ Ûت ‚“ ¤
O(g(n)) ,ùÀªù¢¢ g(n) ýÂ“
O(g(n)) = {f (n) : ∃c > 0 and n0 such that ∀n ≥ n0, 0 ≤ f (n) ≤ cg(n)}
.´¨
&
ü¨Àì ÀÞ½õ
c
f (n) ýÂ“ (asymptotically upper bound) ü±÷‘¹õ ý„‘“ öÂî g(n)
1388 Âúõ 18
30
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
cg(n)
f (n)
n
n0
f (n) = O(g(n))
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
31
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
Ýþ¤¢ ,ü›¤¢ ¥‘¨°—Âõ ¢¤õ ¤¢ …
f ·õ
T (n) = Θ(n2) = O(n2)
= O(100n2)
= O(n3)
= O(n2 lg n)
6= O(n lg n)
6= O(n).
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
32
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
.´Æƒ÷ ÀƒÔõ öÀ€ á…ϐ ßþ üóø ,´¨
‘— ¤
O
õ÷Â• Û¡¢ ⓑ— Àþ‘“ ,´¨ ÛØÈõ
O(n100) ¥ ‚ÜÿÆõ ´Ôð ö—üõ
$
Θ ý‚±¨‘½õ ‚î üþ‘û´ó‘Ÿ ¤¢ ´ú› ߃Þû‚“
.Àª‘“ ßþ—םî ö‘Øõ ÀŸ
Θ(g(n)) ⊆ O(g(n)) ‚î ´¨ ߪø¤ ÓþÂ㗠§‘¨Â“
.
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
33
:‚µØ÷
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
Ω
$
¢‘Þ÷
:݃€îüõ ÓþÂ㗠Âþ¥ ⓐ— ý‚äÞ¹õ Ûت‚“ ¤
Ω(g(n)) ,ùÀªù¢¢ g(n) ýÂ“
Ω(g(n)) = {f (n) : ∃c > 0 and n0 such that ∀n ≥ n0 0 ≤ cg(n) ≤ f (n)}
.´¨
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
f (n) ýÂ“ (asymptotically lower bound) ü±÷‘¹õ ߃þ‘• öÂî g(n)
34
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
Ýþ¤¢ ü›¤¢ ¥‘¨°—Âõ ýÂ“ …
f ·õ
T (n) = Ω(n lg n)
= Ω(n)
= Ω(n2)
6= Ω(n2 lg n)
.¢ø¤üõ ¤‘î‚“ ÂÚþ¢ ⓑ— ×þ ߃þ‘• öÂî ö¢¢ ö‘È÷ ýÂ“
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
35
Ω ¢‘Þ÷ ÛÞä ¤¢
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
f (n)
cg(n)
n
n0
f (n) = Ω(g(n))
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
36
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
ü€ãþ ´¨
$
ΩøO
ÓÎä âìø ¤¢
Θ â“‘—
f (n) = Θ(g(n)) ⇔ f (n) = O(g(n)) ∧ f (n) = Ω(g(n))
‘þ
ø
f (n) = O(g(n)
‚ î ´ ¨ ö
f (n) = Θ(g(n)
ýÂ “ ü ê‘ î ø ô¥„ ¯Â ª :‚ ƒ Ì ì
f (n) = Ω(g(n)
.
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
37
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
o
o(g(n)) = {f (n)|
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
$
¢‘Þ÷
for any positive constant
c > 0,
∃n0 > 0, s.t.∀n > n0 : 0 ≤ f (n) < cg(n)}
38
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
cg(n)
f (n)
n
n0
f (n) = o(g(n))
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
39
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
 “Â “
g(n)
‘ “ À ÷ —ü Þ ÷
f (n)
À ª¤ ý‚ ›¤¢ ‚ î –ø‘ Ô — ß þ‘ “ ,´ ¨ ‚ ƒ ± ª
O
$
‚ “ ¢‘ Þ ÷ ß þ
.Àª‘“ —םî f
‘õÃó Àþ‘“ ø Àª‘“
f (n)
lim
=0
n→∞ g(n)
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
40
f (n) = o(g(n)) Âð
:Ýþ¤¢ ,
:‚µØ÷
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
ω
ω(f (n)) = {g(n)|
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
¢‘Þ÷
for any positive constant
such that
$
c > 0, ∃n0 > 0,
∀n > n0, 0 ≤ cg(n) < f (n)}
41
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
f (n)
cg(n)
n
n0
f (n) = ω(g(n))
.´¨
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
42
O
‘“
o Û·õ Ω ‘“ ω
ý‚Ф
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
g(n) = ω(f (n)) Âð ÍÖê ø Âð f (n) = o(g(n))
.
lim
n→∞
.
f (n)
=∞
g(n)
.
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
43
:Ýþ¤¢ ,
f (n) = ω(g(n)) Âð
:‚µØ÷
:‚µØ÷
n2/2 6= ω(n2) üóø n2/2 = ω(n) …
f ·õ
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
¥ Ճ좑÷ À€Âû) Âþ¥ ý‘û–¤‘±ä ¤¢ ¤ Àþüõ ´¨¢‚“ ëê ý‘ûÓþÂ㗠¥ ‚î ý‚¹ƒµ÷
:݃€îüõ ‚¬…¡ (ü®‘þ¤ ÂÑ÷
,Àª‘“
g
Àª¤ ý‚›¤¢
Gøf
Àª¤ ý‚›¤¢
F
Âð
f = Θ(g) ⇐⇒ F = G
f = O(g) ⇐⇒ F ≤ G
f = o(g) ⇐⇒ F < G
f = Ω(g) ⇐⇒ F ≥ G
f = ω(g) ⇐⇒ F > G
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
44
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
Àª¤ ý‘ûⓑ— «¡
(
transitive) ý¤ÁðÂ— ´ƒ¬‘¡
f (n) = Θ(h(n)) ‚î ¢ªüõ ‚¹ƒµ÷ g(n) = Θ(h(n)) ø f (n) = Θ(g(n)) ¥ (1
f (n) = O(h(n)) ‚î ¢ªüõ ‚¹ƒµ÷ g(n) = O(h(n)) ø f (n) = O(g(n)) ¥ (2
f (n) = Ω(h(n)) ‚î ¢ªüõ ‚¹ƒµ÷ g(n) = Ω(h(n)) ø f (n) = Ω(g(n)) ¥ (3
f (n) = o(h(n)) ‚î ¢ªüõ ‚¹ƒµ÷ g(n) = o(h(n)) ø f (n) = o(g(n)) ¥ (4
f (n) = ω(h(n)) ‚î ¢ªüõ ‚¹ƒµ÷ g(n) = ω(h(n)) ø f (n) = ω(g(n)) ¥ (5
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
45
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
reflexive) ü“‘—¥‘“ ´ƒ¬‘¡
(
f (n) = Θ(f (n)) (1
f (n) = O(f (n)) (2
f (n) = Ω(f (n)) (3
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
46
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
(
symmetry)
$
ö¤‘Ö— ´ƒ¬‘¡
g(n) = Θ(f (n)) Âð ÍÖê ø Âð f (n) = Θ(g(n))
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
47
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
transpose symmetry) ù¢‘ú÷Â— ö¤‘Ö— ´ƒ¬‘¡
(
g(n) = Ω(f (n)) ‚î ´¨ ö f (n) = O(g(n)) ýÂ“ üê‘î ø ô¥„ ¯Âª (1
g(n) = ω(f (n)) ‚î ´¨ ö f (n) = o(g(n)) ýÂ“ üê‘î ø ô¥„ ¯Âª (2
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
48
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
!Àƒ€î ۟ ‘›ßƒÞû :ßþÂޗ
?´¨
f (n) + g(n) = Θ(min(f (n), g(n)) ‘þ (1
?´¨
f (n) = Θ(f (n)/2) ‘þ (2
f (n) + o(f (n)) = Θ(f (n)) ‘þ (3
?
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
49
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
‘ûݵþ¤Úó ۃܽ— ý‘û©ø¤
ü±ƒ—— ý‘ûݵþ¤Úó
Θ(1) ⇐ (Statement) ù¢‘¨ –¤‘±ä üµ“‘™ ¢À㗠‘þ ×þ •
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
50
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
:´¨ Âþ¥ –¤¬‚“ ‚î ‚õ‘÷“‚Ø— ×þ ýÂ› ö‘õ¥
T (n) •
Âþ¥ ýÂ› ý‘ûö‘õ¥ ‘“ ‚õ‘÷“‚Ø—
k/
T1(n) = O(f1(n))
T2(n) = O(f2(n))
...
Tk (n) = O(fk (n))
,–¤¬ö ¤¢
T (n) =
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
k
X
i=1
Ti(n) = O( max (fi(n))
1≤i≤k
51
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
S(n) = O(f (n)) ýÂ› ö‘õ¥ ‘“ ý‚õ‘÷“‚Ø— ¤Âؗ ¤‘“ g(n) /
T (n) = g(n)S(n) = O(g(n)f (n))
T1(n) = O(f1(n)) ý‘ûö‘õ¥ °ƒ—— ‚“ ö else ø then ý‘û´ÞÆì ‚î if ¤‘µ¡‘¨ /
:À€ª‘“ ‚µª¢
T2(n) = O(f2(n)) ø
T (n) = max{T1(n), T2(n)} = O(max{f1(n), f2(n)})
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
52
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ü“‘±Ÿ ¥‘¨°—Âõ :ñ‘·õ
Bubble-Sort (A)
1 for i ← 1 to length[A] − 1
2
do for j ← length[A] downto i + 1
3
do if A[j] > A[j − 1]
4
then Swap (a[j], A[j − 1] )
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
53
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ü“‘±Ÿ ¥‘¨°—Âõ :ñ‘·õ
Bubble-Sort (A)
1 for i ← 1 to length[A] − 1
2
do for j ← length[A] downto i + 1
3
do if A[j] > A[j − 1]
4
then Swap (a[j], A[j − 1] )
T (n) =
=
n−
n
X1 X
i=1 i+1
n−
X1
i=1
O(1)
c(n − i)
= c[n(n − 1) −
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
n(n − 1)
2
54
]=c
n(n − 1)
2
= O(n2)
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
!Àƒ€î ۟ ‘›ßƒÞû :ßþÂޗ
:Àƒ€î ‚±¨‘½õ ¤ Âþ¥ ý‘ûݵþ¤Úó ýÂ› ö‘õ¥
Mystry (n)
1 for i ← 1 to n − 1
2
do for j ← i + 1 to n
3
do for k ← 1 to j
4
do some O(1) statements
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
55
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
&
ü¨Àì ÀÞ½õ
O(n3)
c
1388 Âúõ 18
56
$
:’›
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
VeryOdd (n)
1 for i ← 1 to n
2
do if odd(i)
3
then for j ← 1 to n
4
do x ← x + 1
5
for k ← 1 to i
6
do y ← y + 1
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
57
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
&
ü¨Àì ÀÞ½õ
O(n2)
c
1388 Âúõ 18
58
$
:’›
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
üµÈ𥑓 ý‘ûݵþ¤Úó
ý÷‘û ý‘ûšÂ“ :ñ‘·õ
1
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
2
59
3
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
Tower-of-Honoi (n, f, t, h)
. moving n coins from leg f to leg t with the help of leg h
1 if n = 1
2
then Move the top coin from leg f to leg t
3
else Tower-of-Honoi(n − 1, f, h, t)
4
Move the top coin from leg f to leg t
5
Tower-of-Honoi(n − 1, h, t, f )
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
60
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
n=1
T (n) = 
T (n − 1) + 1 + T (n − 1) n > 1




1,
Recurrence Relation) üµÈ𥑓 ý‚Ф ×þ
(
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
61
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ü±ƒ—— ۟ù¤
1
3
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
2
62
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ü±ƒ—— ۟ù¤
.ßî ­Âê ¢Âð´ä‘¨¢‘• ‚÷Âð ø ¢Âð´ä‘¨ ¤ "´îŸ ´ú›' ´¨ šø¥
n Âð (1
.À÷ƒ𠤐Âì ÀÊÖõ ý‚܃õ ¤¢ ‘û‚ب ý‚Þû ‘— ßî ¤Âؗ (2
ø ,±“ ´îŸ ´ú› ¤¢ ýÀ㓠ý‚܃õ‚“ ¤ ‚ب ßþ—םî (Óó
.ùÀ“ ô‘¹÷ Àª‘±÷ ‚ب ßþ—םî Ûõ‘ª ‚î ¤ üµîŸ ‘ú€— ö‘Øõ –¤¬ ¤¢ (’
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
63
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
?´¨ ´¨¤¢ ü±ƒ—— ۟ù¤ Â
?´¨‘— À€ ‘û´îŸ ¢À㗠ø
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
64
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ßþÂޗ
,À ª‘ ± ÷ 1 ‚ “ 2 ¥ ‘ þ ø 2 ‚ “ 1 ý‚ Ü ƒ õ ¥ ‘ û‚ Ø ¨ ñ‘ Ö µ ÷ ö‘ Ø õ ý ÷‘ û šÂ “ ý‚ Ü ÿ Æ õ ¤¢  ð
?´¨ ¤À삝 2 ‚“ 1 ‚܃õ ¥ ‚ب
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
65
n ñ‘Öµ÷ ¢À㗠ßþ—Ýî
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
۟




T12(n) = 
2,
n=1
T12(n − 1) + 1 + T21(n − 1) + 1 + T12(n − 1) n > 1
T12 = T21
݃÷¢üõ
?¤Ï‚ Ýþ±“ 3 ‚“ 1 ¥ ݃û¿“ Âð
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
66
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
۟




T13(n) = 
1,
n=1
T12(n − 1) + 1 + T23(n − 1) n > 1
T23 = T13
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
67
݃÷¢üõ
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ßþÂޗ
2 ø 1 ý‘ û‚ Ü ƒ õ ¤¢ ° ƒ — —‚ “ šø¥ ø ¢Â ê ýù¤‘ Þ ª ‘ “ ý‘ û‚ Ø ¨ ,ý ÷‘ û šÂ “ ¤¢  ð
•
.Ý ƒ û¢ ¤Â ì 3 ý‚ Ü ƒ õ ¤¢ ¤ ‘ û‚ Ø ¨ ý‚ Þ û Ý ƒ û ¡ü õ ‘ û´  Û ìÀ Ÿ ‘ “ ,À € ª‘ “
?¢¢ ô‘¹÷ ¢ªüõ ¤ ¤‘î ßþ ‚÷ð‚
ø 2 ý‚ Ü ƒ õ ¤¢ ‚ Ø ¨
n2
,1 ý‚ Ü ƒ õ ¤¢ ‚ Ø ¨
n1
À µ “ ¤¢  𐠐¤ ý ÷‘ û šÂ “ ý‚ Ü ÿ Æ õ
¤¢ ‘û‚ب ý‚Þû ‘úµ÷ ¤¢ ‚î ý¤Ï‚“ Àƒ€î ۟ ¤ Àª‘“ ô¨ ý‚܃õ ¤¢ ‚ب
n ý‚ƒÖ“
•
.Àþ¤ø ´¨¢‚“ ¤ ‚€ƒú“ ý‘û´îŸ ¢À㗠.À÷ƒ𠤐Âì ô¨ ý‚܃õ
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
68
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
üõ‘袐 ý¥‘¨°—Âõ :ñ‘·õ
Merge-Sort (A, p, r)
. A:
. p:
. r:
1 if p < r
2
then q ← b p+r
2 c
3
Merge-Sort(A, p, q)
4
Merge-Sort(A, q + 1, r)
5
Merge (A, p, q, r)
¢ª °—Âõ Âþ¥ ÅþÀ÷ ø¢ ߃“ ´¨ ¤Âì ‚î ý‚þ¤
áøª ÅþÀ÷
ü÷‘þ‘• ÅþÀ÷
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
69
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ñ‘·õ :°—Âõ ý‚þ¤ ø¢ ô‘袐
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
70
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
1
2
3
4
5
6
$
7
10 9 82 38 27 43 3
10
9 82
10
10
38 27 43 3
9 82
9
10
38 27
82
38
9 82
27 38
9 10 82
3
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
27
43
3
43
3
3 43
3 27 38 43
9 10 27 38 43 82
71
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
Merge (A, B)
1 n ← length[A]; m ← length[B]
2 i ← 1; j ← 1; k ← 0
3 while i ≤ n or j ≤ m
4
do k ← k + 1
5
if j > m or ((i ≤ n) and (A[i] ≤ B[j]))
6
then C[k] ← A[i]
7
i← i+1
8
else C[k] ← B[j]
9
j ← j+1
10 length[C] ← n + m
11 return C
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
72
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
:‘ûÀƒÜî ý‘û‚Æþ‘Öõ ¢Àã—
ý‚þ¤ ¬‘€ä ý‚Þû ¥ ‚þ¤ ×þ ¬‘€ä ý‚Þû ‚î üµìø)
min{n, m}
:´ó‘Ÿ ßþ—‚“ ¤¢
(Àª‘“ —Ýî ÂÚþ¢
¤¢ Â Ê € ä × þ ‚ Æ þ‘ Ö õ  û ý¥‚ “ ;À ÷ ª ‚ Æ þ‘ Ö õ Ý û ‘ “ ‚ Þ û)
n+m−1
:´ ó‘ Ÿ ß þ —À “
(¡ Âʀä ۂ“ ,¢ªüõ ‚µª÷ ü›ø¡
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
73
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
—ù¢‘¨ ۟ù¤ :ô‘袐
Merge (A, B)
1 A[n + 1] ← ∞; B[m + 1] ← ∞
2 i ← 1; j ← 1
3 for k ← 1 to n + m
4
do if A[i] < B[j]
5
then C[k] ← A[i]
6
i← i+1
7
else C[k] ← B[j]
8
j ← j+1
9 length[C] ← n + m
10 return C
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
74
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
1
2
3
4
C 1 2
1
2
3
4
5
5
1
2
3
3
4
5
(”)
4
5
C 1 2 2 4 5
2
7
8
1
2
3
A 2 4 5 7∞
i
1
2
3
2
3
4
5
A 2 4 5 7∞
i
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
5
j
7
8
2
3
1
4
5
j
(š)
5
6
7
8
1
2
3
2
3
4
3
4
5
7
8
1
2
3
5
j
1
2
1
C
1
2
3
3
4
5
1
2
3
3
4
5
4
5
1 2 5 6∞ B
j
(’)
A 2 4 5 7∞
i
k
4
2
6
k
A 2 4 5 7∞
i
1
5
4
5
6
7
8
A 2 4 5 7∞
i
1
2
3
4
5
j
(˜)
6
7
1
2
75
1
5
5
6
7
8
1
2
3
6
7
8
1
2
3
k
3
4
5
4
5
4
5
1 2 5 6∞B
j
2
3
2
3
4
5
1
2
3
3
4
5
4
5
k
(–)
4
5
1 2 5 6∞ B
j
6
C 1 2 2 4 5 5
k
3
1
A 2 4 5 7∞
i
8
4
5
1 2 5 6∞ B
(ž)
4
4
A 2 4 5 7∞
i
k
5
2
3
C 1 2 2
1 2 5 6∞B
4
1
2
(Óó)
C 1 2 2 4 55 6
1 2 5 6∞B
( )
2
C 1 2 2 4
1 2 5 6∞ B
4
1
k
C 1 2 2 4 5 5 6 7
1
4
1 2 5 6∞B
6
1
C 1
k
A 2 4 5 7∞
i
1
6
$
j
1
2
A 2 4 5 7∞
i
1
7
8
k
2
3
1 2 5 6∞B
(œ)
j
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
O(m + n) ý‘Ìê ø O(m + n) ö‘õ¥ ¤¢ n ø m ý‘ûñÏ ‚“ °—Âõ ´Æƒó ø¢ ô‘袐
.À€îüõ ù¢‘Ôµ¨
O(1) üꑮ ý‘Ìê ¥ (in-place merging) ‘›¤¢ ô‘袐
?´¨‘›¤¢ üõ‘袐 ý¥‘¨°—Âõ ‘þ
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
76
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
üõ‘袐 ý¥‘¨°—Âõ
ÂÖµ¨‘“ ݵþ¤Úó üµ¨¤¢ –‘±™
:ۃܽ—



T (n) = 
1
T (bn/2c) + T (dn/2e) + cn
n=2
n>2
‚î ¢¢ ݃û¡ ö‘È÷
T (n) = Θ(n lg n)
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
77
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
üµÈ𥑓 ý‘û‚Ф ۟ ý‘û©ø¤
ÂÖµ¨ ø ’¡ §ÀŸ :ÂÖµ¨ ø §ÀŸ (1
¼þ¬ ¤Ï‚“ ’› ö¢¤ø ´¨¢‚“ ø ñõÂê ö¢Â“ :ý¤Áðý‘› ‘“ ¤Âؗ (2
üܬ ý‚ƒÌì (3
ßÚÞû‘÷ ø ßÚÞû üµÈ𥑓 ý‘û‚Ф ۟ ý‘û©ø¤ (4
Àóõ ⓑ— À€÷‘õ ÂÚþ¢ ý‘û©ø¤ (5
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
78
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ñ‘·õ :ÂÖµ¨ ø §ÀŸ
n
T (n) = T (b c) + n
2
T (2) = T (1) = O(1)
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
79
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ñ‘·õ:ÂÖµ¨ ø §ÀŸ
n
T (n) = T (b c) + n
2
T (2) = T (1) = O(1)
(?݃÷¥üõ §ÀŸ ‚÷ð‚)
(
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
T (n) ≤ Cn
T (n) = O(n) ݃€î –‘±™ ‚îö ýÂ“) C
80
:§ÀŸ
´±·õ ¢Àä ýÂ“
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ñ‘·õ :ÂÖµ¨ ø §ÀŸ
n
T (n) = T (b c) + n
2
T (2) = T (1) = O(1)
:ÂÖµ¨ ý‚þ‘•
n = 2 ⇒ T (2) ≤ 2C ⇒ 2C ≤ O(1) = r
T (k) ≤ Ck
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
81
݃€îüõ ­Âê
k < n ýÂ“
:ÂÖµ¨ ­Âê
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
.
T (n) ≤ Cn
$
:݃€î ´“‘™ Àþ‘“ :ÂÖµ¨ Ý؟
T (n) ≤ Cb 2n c + n
≤ Cn/2 + n
C ≥ 2 ݃ª‘“ ‚µª¢ Àþ‘“ ,¢ª Cn/2 + n ≤ Cn ‚îö ýÂ“
.
.¢ªüõ –‘±™ Ý؟
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
C ≥ 1 Âð
.¢ªüõ –‘±™ ÂÖµ¨ ô‘ð
82
2 ≤ C ≤ r/2 ýÂ“ ŕ
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
üõ‘袐 ý¥‘¨°—Âõ :ñ‘·õ
T (2) = a
n
T (n) = 2T ( ) + bn
2
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
83
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
üõ‘袐 ý¥‘¨°—Âõ :ñ‘·õ
T (1) = T (2) = a
n
T (n) = 2T ( ) + bn
2
T (n) ≤ cn lg n ⇒ T (n) = O(n lg n)
:§ÀŸ (1
T (2) = a ≤ 2c
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
84
:‚þ‘• (2
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
T (n/2) <= c 2n lg 2n
n
n
2
2
T (n) ≤ 2c lg
,Ýþ¤¢
n
2
$
ýÂ“ :ÂÖµ¨ ­Âê (3
+ bn
= cn lg n + (b − c)n ≤ cn lg n
≤ cn lg n, if b − c ≤ 0 and c ≥ b, c ≥ a/2
Ýû
T (n) = Ω(n lg n)
‚ î Ý ƒ € î –‘ ± ™ À þ‘ “
T (n) = Θ(n lg n)
Ý ƒ € î –‘ ± ™ ‚ î ß þ ýÂ “
.´Æû
,Ý þ¤¢ ï¤Ã “ ý‘ û
n
ýÂ “ ‚ î ´ Æ û
c
× þ ‚ î Ý ƒ € î –‘ ± ™ À þ‘ “ ¤‘ î ß þ ýÂ “
T (n) ≥ cn lg n
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
85
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
T (2) = 2 ≥ 2c
$
:‚þ‘•
:Ý؟ ø ­Âê
n n
T (n) ≥ 2c lg + bn
2
2
= cn lg n + (b − c)n ≤ cn lg n
≥ cn lg n, if b − c ≥ 0 and c ≤ a/2
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
86
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ñ‘·õ
n
n
T (n) = T (b c) + T (d e) + 1
2
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
2
87
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ñ‘·õ
n
n
T (n) = T (b c) + T (d e) + 1
2
2
T (n) ≤ Cn ݃€î ´“‘™ Àþ‘“ .T (n) = O(n)
.
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
88
:§ÀŸ
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ñ‘·õ
n
n
T (n) = T (b c) + T (d e) + 1
2
2
T (n) ≤ Cn ݃€î ´“‘™ Àþ‘“ .T (n) = O(n)
.
n
n
2
2
:§ÀŸ
T (n) ≤ Cb c + Cd e + 1 = Cn + 1 ≥ Cn
!ù‘±µª
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
89
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
T (n) ≤ Cn + B
.
:ÂÚþ¢§ÀŸ
n
n
T (n) ≤ Cb c + Cd e + 2B + 1 = Cn + 2B + 1 ≤ Cn + B ⇒ B < 0
2
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
2
90
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ù‘±µª §ÀŸ ¥ ÂÚþ¢ ñ‘·õ
n
T (n) = 2T (b c) + n
2
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
91
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ù‘±µª §ÀŸ ¥ ÂÚþ¢ ñ‘·õ
n
T (n) = 2T (b c) + n
2
T (n) ≤ Cn
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
92
:§ÀŸ
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ÂÚþ¢ ñ‘·õ
n
T (n) = 2T (b c) + n
2
T (n) ≤ Cn
:§ÀŸ
n
T (n) ≤ 2Cb c + n ≤ Cn + n = (C + 1)n ≥ Cn
2
!ù‘±µª
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
93
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
T (n) ≤ Cn lg n + B
$
:ÀþÀ› §ÀŸ
?´¨ ´¨¤¢
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
94
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
ÂÑ÷ ¥ ­Âê ßþ ‘“ üµÈ𥑓 ý‚Ф ۟ ,݃€î ­Âê
n = 2k
$
Âð ‚î ¢¢ ö‘È÷ ö—üõ
?Â .´¨ ’› ö‘Þû
.´¨
&
ü¨Àì ÀÞ½õ
T (2k ) ý‚±—Âõ ö‘Þû T (n) ý‚±—Âõ ‚î ¢¢ ö‘È÷ ö—üõ 2k ≤ n < 2k+1
c
1388 Âúõ 18
95
O
Âû ýÂ“
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ñ‘·õ
√
T (n) = 2T ( n) + lg n
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
96
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ñ‘·õ
√
T (n) = 2T ( n) + lg n
m
T (2 ) = 2T (2 2 ) + m ⇐ m = lg n
.
m
:ÀþÀ› ƒçµõ
m
S(m) = 2S( ) + m
2
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
97
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ñ‘·õ
√
T (n) = 2T ( n) + lg n
S(m) = O(m lg m) ⇒ T (n) = O(lg n lg lg n)
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
98
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
¬‘€ä ßþ—ï¤Ã“ ø ßþ—םî ö¢Âî Àƒ• :‚ÜÿÆõ
‘û‚Æþ‘Öõ ¢À㗠ßþ—Ýî ‘“
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
A ý‘— n ý‚þ¤ ¬‘€ä ßþ—ï¤Ã“ ø ßþ—םî ö¢Âî Àƒ•
99
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
(‚õ¢) ¬‘€ä ßþ—ï¤Ã“ ø ßþ—םî ö¢Âî Àƒ•
?Â .´¨
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
100
d 32n e − 2 ¤ÀÖõ ßþ
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ñø ©ø¤ :¬‘€ä ßþ—ï¤Ã“ ø ßþ—םî ö¢Âî Àƒ•
‚Æþ‘Öõ
‚Æþ‘Öõ
n − 1 ‘“ Âʀä n ß
þµð¤Ã“ •
c
n − 2 ‘“ Âʀä ßþµ؝î •
‚Æþ‘Öõ
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
101
2n − 3 Ûî ¤¢ •
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
۟ø݃Æ֗ ©ø¤ :¬‘€ä ßþ—ï¤Ã“ ø ßþ—םî
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
102
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
&
$
MaxMin (A, p, q)
. A: array, p, q: the first and last indices
. will return the indices of both max and min
1 if p=q
2
then max ← min ← A[p]
3
else if q − p = 1
4
then if A[p] > A[q]
5
then max ← A[p] ; min ← A[q]
6
else max ← A[q] ; min ← A[p]
7
else r ← b p+q
2 c
8
min1, max1 ← MaxMin(A, p, r)
9
min2, max2 ← MaxMin(A, r + 1, q)
10
if max2 > max1
11
then max ← max2
12
else max ← max1
13
if min2 < min1
14
then min ← min2
15
else min ← min1
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
103
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
۟ø݃Æ֗ ©ø¤ :¬‘€ä ßþ—ï¤Ã“ ø ßþ—םî
0
T (n) =  1
n=1
n=2



 T (bn/2c + T (dn/2e) + 2 n > 2








?´¨ ‚÷ð‚ ۟ù¤ ßþ
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
104
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
!´Æƒ÷ ‚€ƒú“ Ã÷ ۟ ù¤ ßþ
d 18
2 e − 2) ‚Æþ‘Öõ 7 ‚î üó‘Ÿ ¤¢ T (6) = 8
.´¨ üê‘î (
.´¨ ‚€ƒú“
n = 2k
ýÂ“
T (2k ) = 2[3 × 2k−2 − 2] − 2 = 3 × 2k−1 − 2
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
105
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
1 ý‚€ƒú“ ۟ù¤ :¬‘€ä ßþ—ï¤Ã“ ø ßþ—םî
ßî Àƒ• ¤ šø¥ Âû ý‘û
Max ø ‘û Min ü󐁵õ Âʀä ø¢ Âû ߃“ ‚Æþ‘Öõ ×þ ‘“ (1
´¨ Âʀä ßþ—םî ,üꑮ Âʀä ×þ ·îÀŸ ø ‘û
Min Âʀä ßþ—םî (2
.´¨ Âʀä ßþ—ï¤Ã“ ,üꑮ Âʀä ×þ ·îÀŸ ø ‘û
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
106
Max Âʀä ßþ—ï¤Ã“ (3
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
1 ý‚€ƒú“ ۟ù¤ ۃܽ— :¬‘€ä ßþ—ï¤Ã“ ø ßþ—םî
‚Æþ‘Öõ
n/2 + (n/2 − 1) + (n/2 − 1) = 3n/2 − 2 ‘“ n = 2k
ýÂ“ ‚€ƒú“
•
n = 2k + 1 ýÂ“ •
üþ‘—ø¢ šø¥
.Àþüõ ´¨¢‚“
‚€ƒÈƒ“ Âʀä ýÂ“ ‘—
k
Max ¢Àä k
ø
ø ‚€ƒÞî Âʀä ßµê‘þ ýÂ“ ‚Æþ‘Öõ
Min ¢Àä k
k
‚Æþ‘Öõ
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
(1
‘“ (2
,üꑮ Âʀä ×þ ‘þ (3
ö ´¨ ‚€ƒú“ ßþ ,üóø .´¨ ô¥„ ‚Æþ‘Öõ
d
k
k
3k = b 32n c
3(2k + 1)
3
e − 2 = 3k + d e − 2 = 3k
2
2
107
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
108
$
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
2 ý‚€ƒú“ ۟ù¤ :¬‘€ä ßþ—ï¤Ã“ ø ßþ—םî
Âʀä
‚Æþ‘Öõ
n − 2 ø 2 ‚“ ‚þ¤ ݃Æ֗ (1
T (n − 2) + 1 ‘“ ´ÞÆì Âû ý‘ûÂʀä ßþµð¤Ã“ ø ßþµ؝î ö¢Âî Àƒ• (2
ÂÚþ¢ ý‚Æþ‘Öõ 2 (3
0
T (n) =  1
n=1
n=2



 T (n − 2) + 3 n > 2








?Â .´¨ ‚€ƒú“ ¤ÀÖõ ö‘Þû ö ’› ‚î
!´¨ ñø ý‚€ƒú“ ۟ù¤ ö‘Þû ݵþ¤Úó ßþ
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
109
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ý¤Áðý‘› ‘“ ¤Âؗ :üµÈ𥑓 ý‚Ф ۟ ý‘û©ø¤
:ñ‘·õ
n
T (n) = 3T (b c) + n
4
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
110
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ý¤Áðý‘› ‘“ ¤Âؗ
:ñ‘·õ
n
T (n) = 3T (b c) + n
4
T (n) = 3T (b 4n c) + n
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
111
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ý¤Áðý‘› ‘“ ¤Âؗ
:ñ‘·õ
n
T (n) = 3T (b c) + n
4
T (n) = 3T (b 4n c) + n
nc
b4
2
= 3 T (b 4 c) + 3b 4n c + n
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
112
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ý¤Áðý‘› ‘“ ¤Âؗ
:ñ‘·õ
n
T (n) = 3T (b c) + n
4
T (n) = 3T (b 4n c) + n
nc
b4
2
= 3 T (b 4 c) + 3b 4n c + n
= 32T (b 4n2 c) + 3b 4n c + n
= 33T (b 4n3 c) + 32b 4n2 c + 3b 4n c + n
= ...
≤ 3 T ( 4i ) + n
i
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
n
3
j=0 4
i−
X1
113
( )j
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
,
T (n) ≤ 3
log4 n
log4X
n−1
4i = 1 ⇒ i = log4 n
n
$
,Ýþ¤¢
3 j
∗ T (1) + n
( )
4
j=0
‚î ݃÷¢üõ ‘õ
lim
n→∞
lg n−
X 1
3
j=0 4
( )j = 4 ⇒ C2 < 4
3log4 n = nlog4 3 ,Ýþ¤¢ ø
.
T (n) ≤ Cnlog4 3 + 4n ⇒ T (n) = O(n)
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
114
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
F (1) = F (2) = 1 ø F (n) = F (n − 1) + F (n − 2)
.
$
:ñ‘·õ
.¢ªüõ ù¢‘Ôµ¨ ßÚÞû ý‘û‚Ф ۟ ©ø¤ ¥
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
115
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
(
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
$
Recursion Tree) ´È𥑓 ´¡¤¢
116
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
T (n) = 2T ( 2n ) + n
´“‘™ Âþ¢‘Öõ
´È𥑓 ´¡¤¢
n
T (n)
lg n
T ( 2n3 )
T ( 2n3 )
2 2n = n
T ( 2n )
T ( 2n )
T ( 2n2 )
T ( 2n2 )
T ( 2n3 )
$
T ( 2n2 )
T ( 2n3 ) T ( 2n3 )
T ( 2n3 )
22 ( 2n2 ) = n
T ( 2n2 )
T ( 2n3 )
23 ( 2n3 ) = n
T ( 2n3 )
P
T (n) =
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
117
lg n
X
i=0
n = n(lg n + 1)
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
T (n) = T ( 3n ) + T ( 23n ) + n
T (n)
n
T ( 23n )
T ( 3n )
T ( 3n2 )
T ( 3n3 )
T ( 23n3 )
T ( 23n2 )
T ( 23n3 )
n
3 (1 + 2) = n
2
T ( 23n3 )
n
2
32 (1 + 2) = n
2
T ( 232n )
T ( 23n2 )
T ( 233n )
$
2
T ( 233n ) T ( 233n )
2
3
T ( 233n )
n
3
33 (1 + 2) = n
P
T (n) <
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
118
lg n
X
i=0
n = n(lg n + 1)
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
T (n) = T ( 4n ) + T ( 34n ) + n2
n2
T (n)
T ( 4n3 )
T ( 34n3 )
1+32 n2
42
T ( 34n )
T ( 4n )
T ( 4n2 )
T ( 34n2 )
T ( 34n3 )
2
T ( 34n3 )
1+2×32 +34 n2
42
32 2 n2
= 1+
42
2
T ( 342n )
T ( 34n2 )
T ( 343n )
$
2
T ( 343n ) T ( 343n )
2
3
T ( 343n )
1+3×32 +3×34 +36 n2
46
32 3 n2
= 1+
42
P
T (n) < n2
&
ü¨Àì ÀÞ½õ
log 4 n
3
X
i=0
1 + 32
42
!i
< cn2 = O(n2 )
c
1388 Âúõ 18
119
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
üܬ ý‚ƒÌì
ö ¤¢ ‚î)
T (n) = aT ( nb ) + f (n) üµÈ𥑓 ý‚Ф ۟ f (n) ⓑ— ø a ≥ 1, b > 1 ýÂ“
:´¨ Âþ¥ ¤Âì ‚“ (Àª‘“ ÓÖ¨ ‘þ Óî –¤¬ ‚“ À÷—üõ
‚“
nlg a
⠓‘ — ¥
f (n)
⠓‘ — À ª¤ ü € ã þ)
>0
f (n) = O(nlogb a−))
ýÂ “ ,
T (n) = Θ(nlogb a) ,–¤¬ ßþ ¤¢ (,Àª‘“ µÞî ý‚Üޛ
n
b
 ð - Óó
À€ –¤¬
T (n) = Θ(nlogb alog2 n) ,–¤¬ ßþ¤¢ ,f (n) = Θ(nlogb a) Âð - ’
T (n) = Θ(f (n)) ,–¤¬ ßþ¤¢ ,f (n) = Ω(nlogb a+) Âð - š
.
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
120
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
Ý ƒ û ¡ ,À ª‘ “
f (n)
⠓‘ — À ª¤ ý‚ ›¤¢
F
ø
g(n) = nlogb a
$
⠓‘ — À ª¤ ý‚ ›¤¢
G
 ð
:´ª¢
T (n) = Θ(f (n)) ,F > G Âð (1
T (n) = Θ(g(n)) ,G > F
Âð (2
T (n) = Θ(g(n) lg n) ,F = G Âð (3
.
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
121
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
n
¥
T (n) = 9T ( 3n ) + n
n2
g(n) = nlog3 9 = n2
À ª¤ ý‚ ›¤¢ ‚ î ´ ¨ ü ú þÀ “ .
ø
f (n) = n
$
.ñ‘·õ
,Ý þ¤¢ :Û Ÿ
,Áó .´¨ µȃ“ ý‚Üޛ À€ –¤¬‚“
f (n) = O(n2−1) ⇒ T (n) = Θ(n2)
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
122
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
T (n) = T ( 23n ) + 1
.
log 3 1
T (n) = Θ(lg n) ,ŕ .f (n) = 1 ø g(n) = n
2
= n0 = 1 ,Ýþ¤¢
T (n) = 3T ( 4n ) + n lg n
Ýþ¤¢ ,
f (n) = Ω(n0/793+0/1) ø g(n) = nlog4 3 = n0/793
ø
f (n) = n lg n ,ö
$
.ñ‘·õ
:۟
.ñ‘·õ
:۟
T (n) = Θ(nlg n)
.
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
123
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
T (n) = 2T ( 2n ) + n lg n
f (n) = n lg n = (n)
–¤ ¬‚ “ é… µ ¡ ü óø .
ý‚ Î “¤ ,ï¤Ã “ ý‘ û
n
ø
g(n) = nlg 2 = n ,ñ‘ · õ ß þ ýÂ “
ý‚ ƒ Ü î ýÂ “ ‚ î ¢Â î À ƒ • ö —ü Þ ÷ ý
$
.ñ‘·õ
:Û Ÿ
º ƒ û ü € ã þ ´ Æ ƒ ÷ ü þ‘ Þ ÷
۟ ÂÖµ¨ …
f ·õ ,ýÂÚþ¢ ©ø¤ ¥ Àþ‘“ ¤ ‚ÜÿÆõ ßþ ßþÂ“‘€“ .Àª‘“ ¤Âì“
n lg n > n1+
.¢Âî
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
124
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
.¢ªüõ –‘±™ ÂÖµ¨ ‘“ Âþ¥ –¤¬‚“ ‚î ´¨
T (n) = O(n lg2 n) ’›
T (2) ≤ 2c
k < n ýÂ“ T (k) ≤ ck lg2 k
.
$
:‚þ‘•
:­Âê
:Ý؟
n
n
2
T (n) ≤ 2c lg
+ n lg n
2
2
≤ cn(lg n − 1)2 + n lg n
≤ cn lg2 n + n[c + (1 − 2c) lg n]
.¢ªüõ –‘±™ Ý؟ ø
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
c + (1 − 2c) lg n < 0 Ýþ¤¢ n > 2 ø c = 1 ýÂ“
125
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ßÚÞû üµÈ𥑓 ͓ø¤
1
2
1
2
?¢Âî ©Âê
&
ü¨Àì ÀÞ½õ
c
12 3
n
12 3
n
2 × 1 ý‘û׃þ¥õ ‘“ ¤ 2 × n ý‚½Ô¬ ö—üõ ÕþÂÏ À€ ‚“
1388 Âúõ 18
126
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
:Ýþ¤¢ ,¢Âî ©Âê Óܵ¿õ ©ø¤
fn+1
‘“ öµ“ ¤
2 × n ñøÀ› Âð
$
:۟
fn = fn−1 + fn−2
.(ü‘÷±ƒê ý‚ó‘±÷¢)
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
127
f1 = 1ø f0 = 0 ø
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
?¢Âî ©Âê
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
2 × 1 ý‘û׃þ¥õ ‘“ ¤ 3 × n ý‚½Ô¬ ö—üõ ÕþÂÏ À€ ‚“
128
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
$
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ßÚÞû üµÈ𥑓 ͓ø¤
ci
Âþ¥ üµÈ𥑓 ý‚Ф ‚“ ,À€ª‘“ üփ֟ ý‘û¢Àä‘û
Âð
k ý‚›¤¢ ¥ ßÚÞû üµÈ𥑓 ý‚Ф
:݃þðüõ
an = c1an−1 + c2an−2 + · · · + ck an−k
¤¢ (
n ∈ N ) an = g(n) ý‚ó‘±÷¢ Âð ,´¨ ëê üµÈ𥑓 ý‚ó‘±÷¢ ’› ×þ g(n)
ⓑ—
.À€î ëÀ¬ üµÈ𥑓 ý‚Ф
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
129
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
ýÂ“ ü“› ×þ Âû
(i = 1, . . . , r) gi(n) Âð
$
:‚ƒÌì
an = c1an−1 + c2an−2 + · · · + ck an−k
‘þ ’›
r
ßþ ¥ üΡ °ƒî— Âû ù‘ðö ,Àª‘“
A1g1(n) + A2g2(n) + · · · + Ar gr (n)
Ai
.´¨ üµÈ𥑓 ý‚Ф ýÂ“ ü¿¨‘• ,À÷üփ֟ ý¢Àä ‘û
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
130
ö ¤¢ ‚î
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
,݃€îüõ ­Âê :–‘±™
h(n) = A1g1(n) + A2g2(n) + · · · + Ar gr (n)
:Ýþ¤¢ ŕ ,´¨
an = c1an−1 + c2an−2 + · · · + ck an−k
’› ×þ
gi(n) ö ,
gi(n) = c1gi(n − 1) + c2gi(n − 2) + · · · + ck gi(n − k)
:¢ªüõ ‚¹ƒµ÷ ŕ
h(n) = c1h(n − 1) + c2h(n − 2) + · · · + ck h(n − k)
.´¨ ´“‘™ ‚ƒÌì Ý؟ ßþÂ“‘€“
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
131
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
۟ ©ø¤
:Ýþ¤¢ ,Àª‘“ ßÚÞû üµÈ𥑓 ý‚Ф ’›
g(n) = xn
Âð
xn − c1xn−1 − c2xn−2 − · · · − ck xn−k = 0
,ÂÚþ¢ –¤‘±ä ‚“ ‘þ
xk − c1xk−1 − · · · − ck = 0
.´¨ ëê
ü õ ü µ È ð¥‘ “ ý‚ Î “¤ ýÂ “ (
k
‚›¤¢ ‚ó¢‘ãõ ’›
characteristic equation) ‚Ê¿Èõ ý‚ó¢‘ãõ¤
x ü€ãþ
‚ ó¢‘ ã õ ß þ
.݃õ‘÷
ý‚ Î “¤ ’ › × þ
an = xni
ý‚ Î “¤ ’ › × þ Ý û ‘ û
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
xni
‚ î ´ ¨ ü ú þÀ “ ,À ª‘ “ ‚ Ê ¿ È õ ý‚ ó¢‘ ã õ ý‚ È þ¤ ,
xi
 ð
¥ ü Î ¡ ° ƒ   û Û ± ì ý‚ ƒ Ì ì  “ ‘ € “ ø ´ ¨ ü µ È ð¥‘ “
132
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
.´¨ üµÈ𥑓
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
133
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
:üΡ °ƒî— ñ‘·õ ¤Ï ‚“
an = t1xn1 + t2xn2 + · · · + tk xnk
:ŕ ,À€ª‘“ ùÀª ù¢¢ ‚ó‘±÷¢ ßþ ñø Âʀä

























Âþ¢‘Öõ Àþ‘“ üµÈ𥑓 ý‚Ф ßþ ¤¢
a0 = t1 + t2
+ · · · + tk
a1 = t1x1 + t2x2 + · · · + tk xk
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 + t xk−1 + · · · + t xk−1
ak−1 = t1xk−
k k
2 2
1
(.À€µÆû
k
k
tk
‘—
t1
‘ûñú¹õ).Àª‘“üõ ñú¹õ
k
ø ‚ó¢‘ãõ
xi
ö¢¢‘“ ü€ãþ ,¢¤¢ ¢ÂꂓÂʽ€õ ’› ×þ –„¢‘ãõ ù‘Úµ¨¢ ßþ À€ª‘“ Ãþ‘Þµõ ‘û
k
Âð
.¢Âî Àƒ• ‚ó‘±÷¢ ýÂ“ ¢ÂꂓÂʽ€õ ü“› öµƒõ,‚ó‘±÷¢ ñø Âʀä
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
134
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
.Àƒ€î ۟ ¤ ü‘÷±ƒê ý‚ó‘±÷¢ :ñ‘·õ
x2 − x − 1 = 0

fn = t1 

√
x2 =
n
√
1− 5
2
√
ø
:‚Ê¿Èõ ý‚ó¢‘ãõ :۟
x1 =
√
1+ 5
2
ö ý‘û‚Èþ¤
n
1 −
1 + 5 
5 

 + t 


2
2
2 

:Ýþ¤¢ ‚ƒóø Âþ¢‘Öõ ‚“ ‚›— ‘“ ø
+
t2√ = f0 = 0

1+ 5
1− 5


 t (
1 2 ) + t2( 2 ) = f1 = 1





t1√
:¢Èƒõ ‚¹ƒµ÷ ‘û‚ó¢‘ãõ ßþ ¥ ø
&
ü¨Àì ÀÞ½õ
1
5
1
5
t1 = √ , t2 = − √
c
1388 Âúõ 18
135
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
√
n
√
$
n 
1 −
1  1 + 5 
5 


 − 




2
2 
5
fn = √
ý¢À ä
fn


‚ Ø € þ ‚ “ ‚ › — ‘ “ ø ¢ ªü õ ×  î ¤‘ ƒ Æ “
:Ýþ¤¢ ,݃€î ÓþÂã—
n
öÀ ª




√
1− 5 )n
 µ ð¤Ã “‘ “ (
2
ý‚ Ü Þ ›
x ‚“ ¼ƒ½¬ ¢Àä ßþµØþ¢Ã÷ ¤ hxi Âð ,´¨ ü“‘ÆŸ
1
hxi = bx + c
2
√
:ÓþÂ㗠ßþ ‘“ ø
n
1  1 + 5 

fn = √ 
2 
5
*
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18

136
+
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
Àª‘“ ‚Ê¿Èõ ý‚ó¢‘ãõ 2 ý‚›¤¢ Óä‘Ìõ ý‚Èþ¤
$
xi
Âð
ý‚ ó¢‘ ã õ ¥ ý ƒ ðÕ µ È õ ‘ “ –‘ ± ™) ´ ¨ ü µ È ð¥‘ “ ý‚ Î “¤ ’ › × þ à ƒ ÷
an = nxni
(.´¨ ‚Ê¿Èõ ý‚ó¢‘ãõ ÕµÈõ ý‚Èþ¤ ,Óä‘Ìõ ý‚Èþ¤ ‚î ‚Üƒ¨ø ßþ ‚“ ,´¨ ‚Ê¿Èõ
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
137
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
Àª‘“ 3 ‚›¤¢ Óä‘Ìõ ý‚Èþ¤
$
xi
Âð
.´¨ üµÈ𥑓 ý‚Ф ’› ×þ Ã÷
n2xni
üÜî ´ó‘Ÿ ¤¢
,Àª‘“
p ‚›¤¢ Óä‘Ìõ ý‚Èþ¤ xi
Âð
g(n) = t0xn + t1nxn + t2n2xn + · · · + tp−1np−1xn
.´¨ üµÈ𥑓 ý‚Ф ýÂ“ ü“›
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
138
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
:Àƒ€î ۟ ¤ Âþ¥ üµÈ𥑓 ý‚Ф .ñ‘·õ
an = 5an−1 − 8an−2 + 4an−3 (n ≥ 3)
a2 = 2 ø ,a1 = 1 ,a0 = 0
.
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
139
:Ýþ¤¢ ø
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
:۟
:‚Ê¿Èõ ‚ó¢‘ãõ
x3 − 5x2 + 8x − 4 = 0 = (x − 1)(x − 2)2
an = c11n + c22n + c3n2n
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
140
:´¨ –¤¬ ßþ ‚“ üÜî ’› ßþÂ“‘€“
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
Ýþ¤¢ ‚ƒóø Âþ¢‘Öõ ñ‘Þä ‘“ ‚î
c1 + c2 = 0
n=0
c1 + 2c2 + 2c3 = 1
n=1
c1 + 4c2 + 8c3 = 2
n=2
ŕ .´¨
c3 = −1/2 ,c2 = 2 ,c1 = −2 ö ’› ‚î
an = 2n+1 − n2n−1 − 2
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
141
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
(
Amortized Analysis)
$
ü€ØªÂ¨ ۃܽ—
´ó‘Ÿ ßþ—À“ ۃܽ—
•
ͨµõ ´ó‘Ÿ ¤¢ ۃܽ—
•
ö ýø¤ “ –‘ƒÜÞä ¥ ý‚ó‘±÷¢ ø ¤‘µ¡‘¨ù¢¢ ×þ :̓½õ
(´ó‘Ÿ ßþ—À“ ¤¢) ÛÞä ö ý‚€þÃû ͨµõ :ÛÞä Âû ùÀªßت¨ ý‚€þÃû
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
142
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
multiPoP
$
ÛÞä ‘“ ‚µÈ• :1 ñ‘·õ
Pop ø Push “ ùø…ä
Multipop (S, k)
1 while not Stack-Empty(S) and k 6= 0
2
do Pop(S)
3
k ← k−1
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
143
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
:´ó‘Ÿ ßþ—À“ ¤¢ ‘û‚€þÃû
Θ(1) :Pop ø Push •
Θ(min{k, Size(S)}) :Multipop(S, k) •
,݃ª‘“ ‚µª¢ ñ‘Þä ßþ ¥ ‘—
Θ(n2)
.
.´¨
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
:´ó‘Ÿ ßþ—À“ ¤¢ ‘û‚€þÃû Ûî âޛ
O(1) ÛÞä Âû ùÀªßت¨
144
n ¥ ý‚ó‘±÷¢ Âð ŕ
ý‚€þÃû ‚î ݃û¢üõ ö‘È÷
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
üþø¢ø¢ ýùÀ÷¤‘Þª ÇþÃê :2 ñ‘·õ
A[0..k − 1] üµƒ“ k
üþø¢ø¢ ýùÀ÷¤‘Þª ×þ
(´ƒ“ ßþ—©¥¤Ýî 0 ´ƒ“)
Increment (A)
1 i← 0
2 while i < length[A] and A[i] = 1
3
do A[i] ← 0
4
i← i+1
5 if i < length[A]
6
then A[i] ← 1
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
145
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
´ó‘Ÿ ßþ—À“ ¤¢ ùÀ÷¤‘Þª ý‚€þÃû
O(k) ´ó‘Ÿ ßþ—À“ ¤¢ ÇþÃê ÛÞä Âû
,
O(nk) ÇþÃê ÛÞä n
.´¨
&
ü¨Àì ÀÞ½õ
c
O(1) ùÀªßت¨
1388 Âúõ 18
–¤¬‚“ ÇþÃê ÛÞä Âû ý‚€þÃû ‚î ݃û¢üõ ö‘È÷
146
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ùÀªßت¨ ۃܽ— ý‘û©ø¤
aggregate) ‚û±÷ ©ø¤ •
.¢À㗠“ ݃Æ֗ ,ñ‘Þä ý‘û‚€þÃû âޛ :(
accounting) ý¤¢’‘ Æ Ÿ ©ø¤ •
 û ýÂ “ ´ ¡¢Â • ø ñ • öà ¿ õ × þ ¥ ù¢‘ Ô µ ¨ :(
ÛÞä
potential) ۃÆ÷‘µ• ⓑ— ©ø¤ •
Û±ì ©ø¤ —üÜî ´ó‘Ÿ :(
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
147
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
áÞ¹õ ©ø¤ ‘“ ‚µÈ• ۃܽ—
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
148
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
áÞ¹õ ©ø¤ ‘“ ‚µÈ• ۃܽ—
:݃ª‘“ ‚µª¢ ÛÞä
.´¨
.¢ªüõ
n Âð
n ‚µÈ• ¬‘€ä ¢À㗠·îÀŸ •
Pop ¤‘“ ×þ ·îÀŸ ø Push ¤‘“ ×þ f‘Öƒì¢ ‚µÈ• Û¡¢ Âʀä Âû •
Multipop ‘“ ‘þ ø ¢ªüõ Pop f‘ÞƒÖµÆõ ‘þ Âʀä ×þ •
.´¨
O(1) Pop ø Push ÛÞä Âû •
´¨
.´¨
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
149
Θ(2n) ·îÀŸ ‘û‚€þÃû âޛ
O(1) ÛÞä Âû ýùÀªßت¨
ý‚€þÃû ŕ
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
‚û±÷ ©ø¤ ‘“ ùÀ÷¤‘Þª ۃܽ—
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
150
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
‚û±÷ ©ø¤ ‘“ ùÀ÷¤‘Þª ۃܽ—
Àû¢üõ ƒƒç— 0 ‚“ 1 ¥ ¤ ý¢À㗠ø À€îüõ 1 ¤ ´ƒ“ ×þ ·îÀŸ ÇþÃê ÛÞä Âû
(¤‘“
(¤‘“
n/4)
(
(¤‘“
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
n) ¢ªüõ flip ÇþÃê Âû ‘“ 0 ´ƒ“ •
n/2) ¢ªüõ flip ö‘ƒõ ¤¢ ×þ 1 ´ƒ“ •
À€îüõ ƒƒç— ‚ãê¢ ×þ ¤‘“ 4 Âû 2 ´ƒ“
•
...
•
b 2ni c áÞ¹õ ¤¢) À€îüõ ƒƒç— ÇþÃê ¤‘“ 2i
151
•
¥ ŕ
i ´ƒ“ •
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
áÞ¹õ ¤¢ ŕ
k−
X1
i=0
n
b ic ≤ n
2
.´¨
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
1
≤ 2n
i
i=0 2
∞
X
O(1) ÛÞä Âû ýùÀªßت¨
152
ý‚€þÃû ü€ãþ
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ý¤¢’‘ÆŸ ©ø¤‚“ ‚µÈ• ۃܽ—
.݃€îüõ šÂ¡ ñ‘þ¤ 2
.¢ªüõ
Push Âû ýÂ“ •
Push ÛÞä é¬ ñ‘þ¤ 1 •
.Ýþ¤Áðüõ ‚µÈ• Û¡¢ Âʀä ýø¤ “ ¤ ñ‘þ¤ 1
.¢“ À€û¡ ü÷‘¹õ ‚Þû ‘û
.´¨
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
O(1) ùÀªßت¨
153
•
Pop •
ý‚€þÃû ŕ ‚€þÃû ñ‘þ¤
2n …
f î
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ý¤¢’‘ÆŸ ©ø¤‚“ ùÀ÷¤‘Þª ۃܽ—
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
154
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ý¤¢’‘ÆŸ ©ø¤‚“ ùÀ÷¤‘Þª ۃܽ—
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
.݃€îüõ ‚€þÃû ñ‘þ¤ 2 ǓÃê ÛÞä Âû
•
.¢ªüõ 1 ‚“ 0 ¥ ´ƒ“ ×þ ÛþÀ±— é¬ ñ‘þ¤ 1
•
.݃û¢üõ ¤Âì 1 ´ƒ“ ýø¤Â“ ñ‘þ¤ 1
•
.¢“ Àû¡ ü÷‘¹õ 0 ‚“ 1 ý‚€þÃû
•
155
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ۃÆ÷‘µ• ⓑ— ©ø¤
‚ƒóø ¤‘µ¡‘¨ù¢¢ :
ô
1 ÛÞä
2 ÛÞä
D0 •
i ÛÞä ¥ ŕ ¤‘µ¡‘¨ù¢¢ :Di •
n ÛÞä
D0 −→ D1 −→ D2 . . . −→ Dn
ô
.À€îüõ ´ª‘Ú÷ üփ֟ ¢Àä ‚“
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
Di
‚î ۃÆ÷‘µ• ⓑ—
156
i ÛÞä üãìø ý‚€þÃû :ci •
= Φ(Di)
:݃€îüõ ÓþÂã—
•
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
ô
$
i ÛÞä ýùÀªßت¨
ý‚€þÃû
ĉ
:ÓþÂã—
•
ĉi = ci + Φ(Di) − Φ(Di−1)
n
X
i=1
ĉi =
n
X
i=1
ci + Φ(Dn) − Φ(D0) ŕ •
Φ(D0) = 0 Â𐠕
,
n
X
i=1
ĉi ≥
n
X
i=1
ci
.Ýþ¤ø ´¨¢‚“ ݃û¡üõ ‚î ´¨
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
157
n
X
i=1
ci
ýÂ“ üþ„‘“ öÂî
n
X
i=1
ĉi
ü€ãþ
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ý¤¢’‘ÆŸ ©ø¤ ‘“ Âґ€—
i ÛÞä ¥ ŕ öÿõ ¤¢ ¢›õ ñ• ¤ÀÖõ :Φ(Di) •
.
.݃€îüõ ´¡¢Â•
i ÛÞä ýÂ“ ‚î üó• ¤ÀÖõ :cˆi •
i ÛÞä ýÂ“ ùÀªé¬ ý‚€þÃû ¤ÀÖõ :ci •
.
Φ(Di) = Φ(Di−1) + cˆi − ci
݃÷µ“ ‘— Ýþ¤¢Â“
.¢ªüõ
&
ü¨Àì ÀÞ½õ
c
ci − cˆi
ci < cˆi
Âð
•
i ÛÞä ô‘¹÷ ýÂ“ ,ci > cˆi
Âð
•
:¢ªüõ ‚ê‘® öÿõ ‚“ –ø‘Ե󐂓‘õ ,
ýù¥À÷‚“ öÿõ ¥ ´¨ ô¥„
Φ(Di) = Φ(Di−1) − (ci − cˆi) öÿõ ñ• ŕ
1388 Âúõ 18
158
.݃û¢ ô‘¹÷ ¤ ÛÞä ßþ
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ۃÆ÷‘µ• ©ø¤ ‘“ ‚µÈ• ۃܽ—
Φ(Di) = ‚µÈ• ¤¢ ¢›õ ¬‘€ä ¢Àã—
:ÓþÂã—
•
Φ(D0) = 0 Àµ“ ¤¢ •
Push ÛÞä •
:
Φ(Di) − Φ(Di−1) = 1
:¢ªüõ ‚ê‘® Âʀä ×þ --
ci = 1 üãìø ý‚€þÃû --
,
ĉi = 1 + 1 = 2 ŕ --
.
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
159
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
Pop ÛÞä •
$
:
Φ(Di) − Φ(Di−1) = −1
:¢ªüõ Ýî Âʀä ×þ --
ci = 1 üãìø ý‚€þÃû --
,
ĉi = 1 − 1 = 0 ŕ --
.
Â Ô ¬ Ý û ö ýùÀ ªß Ø ªÂ ¨ ý‚ € þà û Å • .´ ¨
Pop
ý¢À 㠗 Ý û
Multipop
ÛÞä
•
.´¨
n
X
i=1
ci ≤
n
X
i=1
.´¨
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
160
ĉi = 2n
O(1) ÛÞä Âû ýùÀªßت¨
ý‚€þÃû ŕ
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$
ۃÆ÷‘µ• ©ø¤‚“ ùÀ÷¤‘Þª ۃܽ—
Φ(Di) = A ‘û ×þ ¢Àã—
:ۃÆ÷‘µ• ⓑ— ÓþÂã—
•
Φ(Di) ≥ 0 ø Φ(D0) = 0 Ýþ¤¢ •
:"ÇþÃê' ÛÞä
.¢ªüõ ÛþÀ±— 1 ‚“ ÂÔ¬ ¢Àä ×þ ·îÀŸ ø ÂÔ¬ ‚“ 1 ¥ ´ƒ“
ti
•
--
ŕ --
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
161
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%
‘ûݵþ¤Úó ü÷‘±õ ø ‘û¤‘µ¡‘¨ù¢¢
'
$








ĉi = Φ(Di) − Φ(Di−1) + ci
Φ(Di) − Φ(Di−1) ≤ −ti + 1  → ĉi ≤ 2




ci ≤ ti + 1
.´¨
&
ü¨Àì ÀÞ½õ
c
1388 Âúõ 18
O(1) ÇþÃê ÛÞä Âû ýùÀªßت¨
162
ý‚€þÃû ŕ
•
—ƒ³õ‘î ü¨À€úõ ýùÀØÈ÷¢
%