ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ À÷¿ µî ¥ .À÷¿ ¤ µî 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 ýþÃû Å • ³õî ü¨Àúõ ýùÀØÈ÷¢ %
© Copyright 2025 Paperzz