ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ý¤õ ý±Âõ ø ý¥¨°Âõ ýø¤  ≤ (total order) Û õ î °  ý Î ¤ ø a1, a2, . . . , an ý ûÀ Ü î Â Ê ä n .À÷ùÀª ù¢¢ ûÀÜî :îý¤Ï Àî À ¤ ùÀª ù¢¢ Â¬ä ¥ π ´Èðý ý¥¨°Âõ ÓþÂã aπ(1) ≤ aπ(2) ≤ . . . ≤ aπ(n) & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 1 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ý¤ø¢þ .Àª ý¤Áð ø ü¥ ,ö¤Öµõ÷ Âð ´¨ (partial Âû ý Âð ,´¨ Ûõî °Â ýΤ A order) üþà °Â Τ ×þ ýäÞ¹õ ýø¤  .bRa þ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 2 R üþà °Â ýΤ aRb ݪ µª¢ a, b ∈ A ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ý¥¨°Âõ ýûݵþ¤Úó ýÀµ¨¢ (¢ª üõ ù¡£ ¹î ¤¢ ù¢¢ üãþ) ý¥¨°Âõ öõ¥ ¤¢ ûù¢¢ ´ãìõ ÂÑ÷ ¥ (1 (external) ü¤¡ / (internal) üÜ¡¢ / ý¥¨°Âõ ¥ Š¬ä ü±Æ÷ °Â ÐÔÂÑ÷ ¥ (2 (unstable) ¤Àþ÷ / (stable) ¤Àþ / ûù¢¢ ý¥¨°Âõ ýù½÷ ÂÎ÷ ¥ (3 (Àîüõ °Âõ ¬ä ýÆþÖõ ) (comparison (non-comparison & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 3 sort) ýÆþÖõ / sort) ýÆþÖõ Âè / ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ý¥¨°Âõ ýûݵþ¤Úó ßþ öÂî .´¨ Ω(n) ý¥¨°Âõ ݵþ¤Úó Âû ý öõ¥ • ´ó ¤¢ Ýû ø ´ó ßþÂÀ ¤¢ Ýû ýÆþÖõ ý¥¨°Âõ ݵþ¤Úó Âû ý öõ¥ .´¨ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 4 • Ω(n lg n) ßÚ÷õ ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ (Lexicographic Ordering) üþ±Ôó °Â ÓþÂã :ý¤ø¢þ :Âê ~a = a1a2 · · · ai · · · an ~b = b1b2 · · · bi · · · bm ,ak < bk ø .ai ai = bi ,i < k ≤ n ý Âð ~a ≤ ~b Ýþðüõ = bi ݪ µª¢ 1 ≤ i ≤ n ý ø n < m þ f ·õ ab < abc < adc < adda & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 5 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ´ó ßþÂÀ ¤¢ ßþ öÂî ± (Decision Tree) ÝÞÊ ´¡¤¢ .¢Âî ñÀõ Âþ¥ ýûüðÄþø ´¡¤¢ ×þ öüõ ¤ ýÆþÖõ ݵþ¤Úó Âû Û õ ª ´ ó  û .A = [a, b, c] "ÜÿÆõ ´ó' • (ãÈ÷ ×þ ÆþÖõ Âû) ´¨ Ûõî üþø¢ø¢ ´¡¤¢ • üþú÷ ´ó ûï • ýø¤  ü ¤¢ ý¥ ¨°  õ ýÂ Ý Þ Ê ´ ¡¤¢ :ñ · õ .´¨ °Âõ ¬ä ßØÞõ ýû´Èðý ýÞû & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 6 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' abc acb bac bca cab cba Yes Swap bac bca cba Yes Swap A[2] > A[3]? (a > c?) bca cba A bca Yes Swap A[1] > A[2]? No (b > c?) cba & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 $ A abc A[1] > A[2]? (a > b?) No abc acb cab A bac A abc No Yes A[2] > A[3]? Swap (c < b?) No acb cab bac abc A acb Yes A[1] > A[2]? No Swap (b > c?) cab bca 7 acb ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ Ìì ø Ýó À .¢¤¢ ï 2h ·îÀ h áÔ¤ üþø¢ø¢ ´¡¤¢ ×þ .(Àî ö½µõ) ¢ªüõ ± & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 8 :Ýó h ýø¤ ÂÖµ¨ Ìì ßþ ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ Ìì ø Ýó À .¢¤¢ ï 2h ·îÀ h áÔ¤ üþø¢ø¢ ´¡¤¢ ×þ .(Àî ö½µõ) ¢ªüõ ± :Ýó h ýø¤ ÂÖµ¨ Ìì ßþ ? üþø¢ø¢ ø Ûõî üþø¢ø¢ ?¢¤¢ ï À ÛìÀ :µØ÷ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 9 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ Ìì ø Ýó À .¢¤¢ ï 2h ·îÀ h áÔ¤ üþø¢ø¢ ´¡¤¢ ×þ .(Àî ö½µõ) ¢ªüõ ± :Ýó h ýø¤ ÂÖµ¨ Ìì ßþ ? üþø¢ø¢ ø Ûõî üþø¢ø¢ ?¢¤¢ ï À ÛìÀ :µØ÷ .Àª µª¢ À÷¥Âê ÂÔ¬ þ ø¢ ùÂð Âû î üþø¢ø¢ ´¡¤¢ ý & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 10 h + 1 ø ý¢ä ´¡¤¢ ý 1 : ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ Ìì ø Ýó À .¢¤¢ ï 2h ·îÀ h áÔ¤ üþø¢ø¢ ´¡¤¢ ×þ .(Àî ö½µõ) ¢ªüõ ± .´¨ & ü¨Àì ÀÞ½õ c h ýø¤ ÂÖµ¨ Ìì ßþ dlog n!e ÛìÀ Àîüõ °Âõ ¤ ÂÊä n î ÝÞÊ ´¡¤¢ ×þ áÔ¤ 1389 ý¢ 18 11 :Ýó :¹µ÷ ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ Ìì ø Ýó À .¢¤¢ ï 2h ·îÀ h áÔ¤ üþø¢ø¢ ´¡¤¢ ×þ .(Àî ö½µõ) ¢ªüõ ± & h ýø¤ ÂÖµ¨ Ìì ßþ dlog n!e ÛìÀ Àîüõ °Âõ ¤ ÂÊä n î ÝÞÊ ´¡¤¢ ×þ áÔ¤ :¹µ÷ dlog n!e ÛìÀ ÇäÔ¤ ßþ ,¢¤¢ ï n! ÛìÀ ÝÞÊ ´¡¤¢ ßþ :± .´¨ .´¨ :Ýó ü¨Àì ÀÞ½õ c 1389 ý¢ 18 12 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ Ìì ø Ýó À .¢¤¢ ï 2h ·îÀ h áÔ¤ üþø¢ø¢ ´¡¤¢ ×þ .(Àî ö½µõ) ¢ªüõ ± h ýø¤ ÂÖµ¨ Ìì ßþ dlog n!e ÛìÀ Àîüõ °Âõ ¤ ÂÊä n î ÝÞÊ ´¡¤¢ ×þ áÔ¤ :¹µ÷ dlog n!e ÛìÀ ÇäÔ¤ ßþ ,¢¤¢ ï n! ÛìÀ ÝÞÊ ´¡¤¢ ßþ :± .´¨ .´¨ ÛìÀ ´ó ß þÂÀ ¤¢ À îü õ °Â õ ¤ ÂÊ ä n î ýÆþ Ö õ Ý µ þ¤ Úó  û :¹ µ ÷ .Àû¢üõ ô¹÷ ý¢ø¤ø ¬ä ß ÆþÖõ & :Ýó ü¨Àì ÀÞ½õ c 1389 ý¢ 18 13 dlg n!e ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ .. î Ý÷¢üõ õ Ù ó µ ¨ ° þÂ Ö .´ ¨ ü Ô ã ® ý ö î ß þ ü óø .lg n! ≤ n lg n :Ýþ¤¢ °þÂÖ ßþ §¨Â .Àû¢üõ ¤ ý öÂî (Stirling’s n! = √ 2πn n e n 1 Å ,n! ≤ nn Approximation) 1 + Θ n :î ¢Âî ± öüõ ñõÂê ßþ ¥ ù¢Ôµ¨ n! = o(nn ) n! = ω(2n) lg(n!) = Θ(n lg n) & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 14 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ßÚ÷õ ´ó ¤¢ ßþ öÂî ?Ýî ± Àþ ¤ à ? üãþ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 15 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ßÚ÷õ ´ó ¤¢ ßþ öÂî ÂûÒ ý¢ø¤ø ¤¢ ö¨×þ ñÞµ üþ n °Â ×þ ýû´Èðý ýÜî Âð :Ìì .¢ Àû¡ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 lg n! ÛìÀ ÝÞÊ ´¡¤¢ ýûï ÕÞä ßÚ÷õ ùðö ,À÷ª 16 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ßÚ÷õ ´ó ¤¢ ßþ öÂî Âê :± ø .Àª ï m T T üþø¢ø¢ ´¡¤¢ ×þ ýûï ÕÞä áÞ¹õ üþø¢ø¢ ýû´¡¤¢ ýÜî ý D(T ) • D(T ) ¤ÀÖõ ßþÂ×î D(m) • Ω(lg n!) ÝÞÊ ´¡¤¢ ýûï ÕÞä ßÚ÷õ ⇐= ,D(m) ≥ m lg m Ýîüõ ´ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 17 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ± ýõ¢ .D(m) ≥ m lg m î Ýîüõ ´ ÂÖµ¨ m=1 .´¨ ¼®ø .´¨ ´¨¤¢ .(Ýû¢üõ öÈ÷ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 Tk 18 m<k ) ÀþÂÚ ÂÑ÷ ¤¢ ¤ ï :þ (1 ý :Âê (2 k T :ÝØ (3 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ Tk Tk−i Ti ï ï i k−i D(T ) = i + D(Ti) + (k − i) + D(Tk−i) & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 19 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ Tk Tk−i Ti ï ï i k−i D(T ) = i + D(Ti) + (k − i) + D(Tk−i) D(k) = min {k + D(i) + D(k − i)} 1≤i≤k & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 20 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ Tk Tk−i Ti ï ï i k−i D(T ) = i + D(Ti) + (k − i) + D(Tk−i) D(k) = min {k + D(i) + D(k − i)} 1≤i≤k D(k) ≥ k + min {i lg i + (k − i) lg (k − i)} 1≤i≤k & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 21 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ± ýõ¢ .Àµêüõ ëÔ i = 2k ¤¢ i lg i + (k − i) lg (k − i) ýÞî ¤ÀÖõ üã±Ï ¢Àä ý ŠD(k) ≥ k + k lg & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 22 k 2 = k lg k ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ üΡ ý¥¨°Âõ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 23 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ (Count Sort) üª¤Þª ý¥¨°Âõ m 1 ß ýûÀÜî ÂÊä n :ý¢ø¤ø Count-Sort (A, B, m) 1 for i ← 1 to m 2 do C[i] ← 0 3 for i ← 1 to length[A] 4 do C[A[i]] ← C[A[i]] + 1 5 for i ← 2 to m 6 do C[i] ← C[i] + C[i − 1] 7 for i ← length[A] downto 1 8 do B[C[A[i]] ← A[i] 9 C[A[i]] ← C[A[i]] − 1 & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 24 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ?´¨ ´¨¤¢  & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 25 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ?´¨ ´¨¤¢  .Ýþ¤Þªüõ ¤ ö¨×þ ÀÜî Â¬ä ¢Àã 4 ÂΨ ¤¢ ö ¤¢ A[i] ÀÜî ¬ä î ´¨ B ýþ¤ ÅþÀ÷ ßþ¡ • C[i] ,5 ýÖÜ öþ ¤¢ • .À÷Âðüõ ¤Âì ô¹÷ ¤Àþ ¤¬ ¤îßþ .À÷Âðüõ ¤Âì öª¢¡ ý ¤¢ ¬ä 7 ýÖÜ ¤¢ • .¢ªüõ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 26 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ Ûܽ ¤Àþ ݵþ¤Úó î ´¨ ö ¢ªüõ ¤ÂØ A .O(n)  öõ¥ • ýÀµ úµ÷ ¥ ÖÜ ßþ îö Ûó¢ • .¢ª Ûî ý öõ¥ Àª O(n) ¥ m Âð î Àªüõ O(n + m) ݵþ¤Úó Ûî ý öõ¥ • .¢ Àû¡ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 27 O(n) ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ «¡ ´ó .ÀµÆû n 1 ¢Àä ¬ä ýûÀÜî Count-Sort (A, n) 1 for i ← 1 to n 2 do while key[A[i]] 6= i 3 do Swap(A[i], A[key[A[i]]]) & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 28 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ?´¨ ´¨¤¢  .Àîüõ °Âõ "¤¢' ¤¬ ݵþ¤Úó .¢¡ üþú÷ ý ¤¢ ÂÊä ø¢ þ ×þ .ÀµÔ ÖÜ ¤¢ ´¨ ßØÞõ ݵþ¤Úó & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 29 • ← Ëþã ¤ Âû • ← ¢Àä ×þ ¥Ç ÀÜî Âû ¥ • ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ (Radix Sort) üþ±õ ý¥¨°Âõ (¢¤¢ ´þóø ô i − 1  ô i Ýì¤) ý¢ø¤ø ¢Àä ýûÝì¤ ¢Àã d Radix-Sort (A, d) 1 for i ← 1 to d 2 do sort array A on digit i by a stable sort & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 30 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ?Àª±÷ öÆØþ ý¢ø¤ø ýûÝì¤ ¢Àã Âð i ýø¤  ÂÖµ¨ .À÷°Âõ öªÀÜî ü¨Àì ÀÞ½õ c 1389 ý¢ 18 • i 1 û´ °Æ ¬ä i ýÜÂõ ýúµ÷ ¤¢ • O(dn)  öõ¥ & :ݵþ¤Úó üµ¨¤¢ • 31 .¢¤¢ üÚµÆ ôø¢ ݵþ¤Úó  öõ¥ • :Ýî ù¢Ôµ¨ üª¤Þª ý¥¨°Âõ ¥ Âð • Â³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ üÜî ´ó ¤¢ üþ±õ ý¥¨°Âõ (û¤î ¥ µ¨¢ ×þ) ,û¢¤î¤ ¥ ýþ¤ ý¢ø¤ø ,t1 . . . tk ýû÷ðù¢¢ ¥ °Â .´¨ & ü¨Àì ÀÞ½õ c n ¥ ÛÖµÆõ ø ¢øÀ½õ 1389 ý¢ 18 f1 . . . fk ýÀÜî ý¤¢ ¢¤î¤ Âû • Àª µª¢ À÷üõ ti ÷ðù¢¢ Âû î ýÂþ¢Öõ ¢Àã • 32 ýÔóõ b k • ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ (Bucket Sort) üÜΨ ý¥¨°Âõ Bucket-Sort (A) . Àîüõ °Âõ ¤ A ´Æó î üÜΨ ý¥¨°Âõ 1 for i ← 1 to k 2 do for each value v of type ti 3 do make Bi[v] empty 4 for each record r in list A in order 5 do let v be the value of fi of the key for r 6 move r from A to the end of Bi[v] 7 for each value v of type ti from lowest to highest 8 do concatenate Bi[v] to the end of A & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 33 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' ý ûô ÷ Ô ó õ b k $ ýÀ Ü î ý¤¢ ¢¤ î¤ Â û î ,¢¤ î¤ t1 . . . tk n A ýû÷ðù¢¢ ¥ si & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 : array[ti ] of list-type 34 f1 . . . fk  ti ýû´ó ¢Àã .¢¤¢ ´þóø a .Bi ´ Æ ó :ý¢ø¤ø fi−1 :Ýþ¤¢ (1  fi :Âê • • • ≤ i ≤ k) ý • ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ öõ¥ ¤¢ (concat) ë½ó ÛÞä ,Ýî ý¥¨ù¢ Ó¬ ×þ ¤¬ ¤ ÛΨ Âû Âð • .´¨  Ûì ´ : ´¨  ݵþ¤Úó ßþ  öõ¥ k X i=1 Θ(si + n) = Θ(kn + k X i=1 si ) ùð ö T (n) = Θ(kn + & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 k X i=1 • si = Θ(n) Âð n) = Θ(n + kn) = Θ(n) 35 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ .1300 . . . 1400 ø 1 . . . 100 ,a..z Âþ¢Öõ Ôóõ ¨ Ûõª ûÀÜî :ñ·õ b ÂÊä a1 a2 a3 a4 a5 a6 a7 & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 f3 f2 a 5 c 12 b 12 a 8 z 10 b 12 a 6 36 f1 1320 1310 1305 1400 1308 1304 1310 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' ÂÊä a1 a2 a3 a4 a5 a6 a7 ý¢ø¤ø a1 a2 a3 a4 a5 a6 a7 & ü¨Àì ÀÞ½õ c B1[.] [1304] a6 [1305] a3 [1308] a5 [1310] a2, a7 [1320] a1 [1400] a4 1389 ý¢ 18 1 üø¡ a6 a3 a5 a2 a7 a1 a4 f3 a c b a z b a f2 f1 5 1320 12 12 1310 1305 8 1400 10 12 1308 1304 6 1310 B2[.] [5] a1 [6] a7 [8] a4 [10] a5 [12]a6, a3, a2 37 $ 2üø¡ a1 a7 a4 a5 a6 a3 a2 B3[.] [’a’] a1, a7, a4 [’b’] a6, a3 [’c’] a2 [’z’] a5 3 üø¡ a1 a7 a4 a6 a3 a2 a5 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ âþ¨ ý¥¨°Âõ :ýÆþÖõ ý¥¨°Âõ ¤¢ ß Ú ÷ õ´ ó ¤¢ ø O(n)2 ´ ó ß þ À ¤¢ ¤ Â Ê ä n â þ ¨ ý¥ ¨°  õ .Àîüõ °Âõ .´¨ ×î f õî O(n lg n) n lg n ´ °þ® • .Àªüõ ¤î Ã÷ ý¥õ ø ü¤¡ ýÑê ýûͽõ ý ݵþ¤Úó ßþ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 38 • • ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ݵþ¤Úó Ó¬ :âþ¨ ý¥¨°Âõ .´¨ ÛøÝÆÖ ©ø¤  üµ±õ üõè¢ ý¥¨°Âõ À÷õ âþ¨ ý¥¨°Âõ .Ýî °Âõ ¤ A[p..r] ýþ¤ Ýû¡üõ • .´¨ Âþ¥ ýÜÂõ ¨ Ûõª ݵþ¤Úó & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 39 • • ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' ,A[q $ + 1..r] ø A[p..q] üú÷ Ç¿ ø¢ A[p..r] (partition) ýÀÇ¿ .Àª±÷ ÂÇ :ÝÆÖ (1 A[q + 1..r] ÂÊä Âû ¥ A[p..q] ÂÊä Âû îý¤Ï p q r ≤x ≥x .À÷ªüõ °Âõ üµÈ𥠤¬ A[q + 1..r] ø A[p..q] Ç¿ ø¢ :Û (2 °Âõ þ¤ Ûî ø ´Æ÷ ûö °î ý¥÷ ,ûÇ¿ üðÄþø :°î (3 .´¨ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 40 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ QuickSort (A, p, r) 1 if p < r 2 then q ← Partition(A, p, r) 3 QuickSort (A, p, q) 4 QuickSort(A, q + 1, r) .¢ªüõ ü÷¡Âê & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 41 QuickSort(A, 1, length[A]) ¤¬ ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ýÀÇ¿ ݵþ¤Úó üܬ Ç¿ Partition (A, p, r) 1 x ← A[p] 2 i← p−1 3 j ← r+1 4 while true 5 do repeat j ← j − 1 6 until A[j] ≤ x 7 repeat i ← i + 1 8 until A[i] ≥ x 9 if i < j 10 then Swap(A[i], A[j]) 11 else return j & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 42 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ýÀÇ¿ ¥ üó·õ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 43 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ x=7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 −∞ 7 6 1 9 7 10 9 12 5 7 4 3 11 2 ∞ r p i j 7 6 1 9 7 10 9 12 5 7 4 3 11 2 i j 2 6 1 9 7 10 9 12 5 7 4 3 11 7 i j 2 6 1 3 7 10 9 12 5 7 4 9 11 7 i j 2 6 1 3 4 10 9 12 5 7 7 9 11 7 i j 2 6 1 3 4 7 9 12 5 10 7 9 11 7 i j 2 6 1 3 4 7 5 12 9 10 7 9 11 7 j i 2 6 1 3 4 7 5 12 9 10 7 9 11 7 ≥x ≤x & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 44 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ?´¨ ´¨¤¢ ýÀÇ¿  :(loop invariant) ÖÜ ¥ ÛÖµÆõ üðÄþø i≤j+1• ,j ø i ¤ÀÖõ Âû ý¥ • x ýøÆõ þ ÂÝî ¬ä ýø A[p − 1, i − 1] Ç¿ -x ¤½õ ýøÆõ þ ÂÇ Â¬ä ýø A[j + 1, q + 1] Ç¿ -.´¨ ýÀÇ¿ üµ¨¤¢ ± ,úµ÷ ¤¢ üðÄþø ßþ ± & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 45 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ÖÜ ÛÖµÆõ üðÄþø ± .´¨ ´¨¤¢ Àµ ¤¢ • .´¨ ´¨¤¢ 4 ýÖÜ ¥ Û±ì :Âê • .Àîüõ ¤±ä x ¥ ÂÇ Â¬ä ýÞû ¥ j • .Àîüõ ¤±ä (i ≤ j + 1) Àî ¤±ä j x ¥ ÂÝî ¬ä ýÞû ¥ i • ¥ ÂÊä ×þ ¥ Ç À÷üÞ÷ i = j + 1 þ ,i = i þ ,i < j i• þ ,ÖÜ ýúµ÷ • .´¨ ¤Âì üðÄþø î & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 46 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ âþ¨ ý¥¨°Âõ «¡ ýû´ó Àª °Âõ þ¤ • Àª °Âõ ÅØä þ¤ • Àª  þ¤ ¬ä ýÞû • .¢ÂÞª fÖì¢ öüõ ´ó Âû ¤¢ ¤ ûËþã ¢Àã ø ûÀÜî ýûÆþÖõ ¢Àã & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 47 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ (ݵþ¤Úó Ûܽ) âþ¨ ý¥¨°Âõ ýù½÷ µÆø üþ¤î ßþ .Θ(n log n) ßÚ÷õ ´ó ¤¢ ø Θ(n2) ´ó ßþÂÀ • .´¨ ýÀÇ¿ :´¨ ×î ´ O(n)  ýÀÇ¿ ýþÃû • À÷¢ÂðüÞ÷  °Öä .´¨ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 48 j ø i• n/2  ·îÀ ûËþã ¢Àã • ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ´ó ßþÂÀ ¤¢ Ûܽ Àî ÝÆÖ ÂÊä 1 ø n − 1 ¤ ÂÊä n ÈÞû ýÀÇ¿ î üõÚû • T (n) = T (n − 1) + Θ(n) = Θ(n2) & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 49 :ݵþ¤Úó üðÀ» • ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ´ó ßþ ¤¢ Ûܽ ¢úª .Àî ÝÆÖ b 2n c ø d 2n e Â¬ä ¢Àã þ¤ ø¢ ¤ ÂÊä n ÜÂõ Âû¤¢ ýÀÇ¿ • :ݵþ¤Úó üðÀ» n • T (n) = 2T ( ) + Θ(n) → T (n) = Θ(n log n) 2 & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 50 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ö¥µõ ýÀÇ¿ 0 < α < 1 ´ Âû ý • T (n) = T (αn) + T ((1 − α)n) + n 9n ) + T ( n ) + n T (n) = T ( 10 f ·õ • 10 (´È𥠴¡¤¢) & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 51 T (n) = Θ(n lg n) Û • ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' 9n ) + T ( n ) + n ý ´È𥠴¡¤¢ T (n) = T ( 10 10 $ n n 9 10 n 1 10 n n log10 n 1 100 n 9 100 n 9 100 n 81 100 n n ≤n ≤n 1 log 10 n 1 9 & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 52 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ßÚ÷õ ´ó ¤¢ Ûܽ .ÝþÂðüõ ÂÑ÷ ¤¢ ¤ ö üê¢Ê ý÷ð ,ßÚ÷õ ´ó ¤¢ ݵþ¤Úó Ûܽ ý & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 53 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ âþ¨ ý¥¨°Âõ üê¢Ê ý÷ð .¢ª ¤½õ Ýîüõ Ëþã ñø ÂÊä ¤ ù¡ñ¢ ÂÊä ×þ üê¢Ê ¤¬ Randomized-Partition (A, p, r) 1 i ← Random(p, r) 2 Swap(A[p], A[i]) 3 return Partition(A, p, r) & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 54 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ Randomized-QuickSort (A, p, r) 1 if p < r 2 then q ← Randomized-Partition (A, p, r) 3 Randomized-QuickSort(A, p, q) 4 Randomized-QuickSort(A, q + 1, r) & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 55 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ´ó ßþÂÀ ¤¢ Randomized-Quicksort Ûܽ n−q ø ý Ì ä q Ç ¿ ø¢ ý Ì ä n þ¤ î ¢ ª ¿ µ ÷ ý¤ Ï ¤ ½ õ : ê .(1 ≤ q ≤ n − 1) ¢ªüõ ÝÆÖ ýÌä ,´ó ßþÂÀ ¤¢ T (n) = • • max {T (q) + T (n − q)} + Θ(n) 1≤q≤n−1 T (n) = Θ(n2) î Ýîüõ ± • & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 56 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ´ó ßþÂÀ ¤¢ Ûܽ ýõ¢ T (n) = max {T (q) + T (n − q)} + Θ(n) 1≤q≤n−1 .T (n) = O(n2) î Ýîüõ ± ÂÖµ¨ Àµ ´¨ üúþÀ ´ ¤ÀÖõ ý :þ T (m) ≤ cm2 ,m < n ý & ü¨Àì ÀÞ½õ T (n) ≤ max {cq 2 + c(n − q)2} + Θ(n) • :Âê • Å • 1≤q≤n−1 c 1389 ý¢ 18 57 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 58 $ ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ T (n) ≤ max {cq 2 + c(n − q)2} + Θ(n) 1≤q≤n−1 Àµêüõ ëÔ q = n − 1 ø q = 1) ¥Âõ ø¢ Âû ýø¤ q 2 + (n − q)2 ýÈ î Ý÷¢üõ • (1 ≤ q ≤ n − 1 ßµêÂð ÂÑ÷¤¢ ø â ¤¢Þ÷ ݨ¤ ) :Ýþ¤¢ q = 1 ´ó ¤¢ Å • T (n) ≤ c(1 + (n − 1)2) + Θ(n) = cn2 − 2c(n − 1) + Θ(n) T (n) ≤ cn2 .À÷ª³ ¤ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 Θ(n) î ÝþÂÚ ï¤Ã ¤Àìö ¤ cî üϪ 59 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ´ó ßþÂÀ ¤¢ Ûܽ ýõ¢ T (n) = max {T (q) + T (n − q)} + Θ(n) 1≤q≤n−1 .T (n) = Ω(n2) î Ýû¢üõ öÈ÷ m < n ý T (m) ≥ cm2 :Âê • T (n) ≥ max1≤q≤n−1{cq 2 + c(n − q)2} + Θ(n) Å • T (n) ≥ cn2 − 2c(n − 1) + Θ(n) ≥ cn2 & ü¨Àì ÀÞ½õ .¢ª ´±·õ c 1389 ý¢ 18 ,ßþ • Θ(n) − 2c(n − 1) î Àª ×î ¤Àì ö c î üϪ 60 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' & ü¨Àì ÀÞ½õ T (n) = Θ(n2) ⇐= T (n) = Ω(n2) = O(n2) Å • c 1389 ý¢ 18 61 ³õî ü¨Àúõ ýùÀØÈ÷¢ $ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ßÚ÷õ ´ó ¤¢ üê¢Ê âþ¨ ý¥¨°Âõ Ûܽ .¢ªüõ ¿µ÷ ÂÊä n ß ¥ öÆØþ ñÞµ ¤½õ Ýîüõ Âê • 1 .´¨ n  Àª Ç¿ ø¢ k ¤½õ ý±Âõ îßþ ñÞµ A ýþ¤ ,k = 2 ø k = 1 ´ó ø¢ Âû ¤¢ ,ýÀÇ¿ ݵþ¤Úó ßþ Õ±Ï • .¢ªüõ ÝÆÖ & ü¨Àì ÀÞ½õ c • 1389 ý¢ 18 62 n − 1 ø 1 ýûù¥À÷ ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $  öõ¥ ßÚ÷õ :T (n) :ÓþÂã T̄ (n) = .T̄ (n) 1 n n− X1 T̄ (1) + T̄ (n − 1) + q=1 • [T̄ (q) + T̄ (n − q)] + Θ(n) ≤ T (n) ø T (1) = Θ(1) ,T (n − 1) = Θ(n2) ´ó ßþÂÀ ¤¢ î Ý÷¢üõ • 1 :Å • ßþ • 1 [T̄ (1) + T̄ (n − 1)] ≤ [Θ(1) + Θ(n2)] = Θ(n) n n T̄ (n) = & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 1 n− X1 n q=1 [T̄ (q) + T̄ (n − q)] + Θ(n) = 63 2 n− X1 n k=1 T̄ (k) + Θ(n) ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' n− X1 2 T̄ (n) = n T̄ (k) + Θ(n) Û k=1 $ a, b > 0 ý ,T̄ (n) ≤ an lg n + b Ý÷¥üõ §À • T̄ (n) = ≤ = 2 n− X1 T̄ (k) + Θ(n) n k=1 2 n− X1 n k=1 [ak lg k + b] + Θ(n) 2 n− X1 2 n− X1 ak lg k + b + Θ(n) n k=1 n k=1 2a n− 2b X1 = k lg k + (n − 1) + Θ(n) n k=1 n & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 64 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ :î ¢ªüõ ´ ñÂÚµ÷ °þÂÖ ¥ ø n− X1 k=1 k lg k ≤ n−1 x=1 x lg x Z 1 1 2 2 = n lg n − n 2 8 Å T̄ (n) ≤ 2a ( n2 n2 2b (n − 1) + Θ(n) n 2 8 n an ≤ an lg n + b + [Θ(n) + b − ] lg n − )+ 4 .¢ª üÔõ õ÷ öø¤¢ Ýîüõ ¿µ÷ ý¤Ï ¤ .T̄ (n) bøa ≤ an lg n + b ßþ T̄ (n) = O(n lg n) þ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 65 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ Ýî Â¬ä ¢Àã ý ÆþÖõ ¢Àã ßþÂÝî ý¥¨°Âõ dlg n!e Â Ê ä n ý¥ ¨°  õ ý ( ¬ ä ß ) ¥ ÷ ¢¤ õ ý Æ þ Ö õ ¢À ã Û ìÀ • .´¨ ?¢¤¢ ¢ø ßØÞõ ýÆþÖõ ¢Àã ßþÂÝî üÞµþ¤Úó þ ×î ýûn ý ¢À ã (binary insertion sort) "ü þø¢ø¢ ¤¢' ý¥ ¨°  õ 3 ,2 ,1   n ý • • ( 3 ,1 ,0 ÂÂ) ¢¤¢ ú ýÆþÖõ .´Æ÷ ú & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 66 n > 3 ý üóø • ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ üþø¢ø¢ ¤¢ ý¥¨°Âõ ý (ý¢ø¤ø ´ó ßþÂÀ ¤¢) üþø¢ø¢ ¤¢ ݵþÚó ýûÆþÖõ Õì¢ ¢Àã ¤¢ B(n) Âð dlg n!e ö ýÆþÖõ ø ×î ýû n ý B(n) Âþ¢Öõ ,Àª ÂÊä n ý¥¨°Âõ .´¨ ùÀõ Âþ¥ ñøÀ n= dlg n!e = B(n) = & ü¨Àì ÀÞ½õ c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 0 1 3 5 7 10 13 16 19 22 26 29 33 37 41 45 49 0 1 3 5 8 11 14 17 21 25 29 33 37 41 45 49 54 1389 ý¢ 18 67 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ÂÊä 5 ýú ý¥¨°Âõ ¢ø (ý¢ø¤ø ´ó ßþÂÀ ¤¢) ÂÊä 5 ý¥¨°Âõ ý ÆþÖõ 7 üÞµþ¤Úó þ ?¢¤¢ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 68 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' b a $ d c e ÆþÖõ 3 ¥ Å & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 69 (´¨ Âï¤Ã b Âê) b a (´¨ Âï¤Ã c Âê) c d (´¨ Âï¤Ã c Âê) c b ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' .Ýîüõ ¤¢ (´ó ßþÂÀ ¤¢ ÆþÖõ 2 ) $ a → b → c ýù¹÷¥ ¤¢ ¤ e Àµ e ¤¢ ¥ Å Óܵ¿õ b a e d c a b e d c a e b d c .¢ªüõ ¤¢ ù¹÷¥ ¤¢ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 70 a b d e c d ÂÚþ¢ ýÆþÖõ 3 ·îÀ ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ :´¨ Âþ¥ ÕÎõ ¤î ßþ ©ø¤ ,Àª .ßî À ¤ Âï¤Ã ø Â×î ¬ä ø ßî ÆþÖõ K4 K5 ¤ K1 K3 ø ¬ä ßþ Âð K2 ¤ K1 (1 ßþ ýúµ÷ ¤¢ .ßî ÆþÖõ Ýû ¤ ëê À ×î ÂÊä ø¢ ÂÚþ¢ ýÆþÖõ ×þ (2 :Ý þ¤¢ ,À ª e a  ¬ ä ß þ  ð .À þü õ ¤¢ Û Ø ª ¤ ¬ Â Ê ä 5 Ü Â õ .c ÆþÖõ 2 ·îÀ ¤î ßþ ,ßî ¤¢ üþø¢ø¢ ©ø¤ ≤døa≤b≤d a < b < d ýù¹÷¥ ¤¢ ¤ e (3 .¢ªüõ Û¬ Û±ì Ûت ¥ üØþ ø ¢¤¢ ¥÷ ÛÂõ ¤¢ î ýÂ¬ä ¥ üþ¤ú ýù¹÷¥ ¤¢ c ¤¢ ,c < d î ßþ (4 .¢¤¢ ¥÷ ÂÚþ¢ ÆþÖõ 2 ·îÀ üþø¢ø¢ ©ø¤ ,À÷ùÀª °Âõ .¢¤¢ ¥÷ ÆþÖõ 7 ·îÀ ¤îßþ ßþ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 71 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ (öÆ÷-¢¤ê ݵþ¤Úó) ݵþ¤Úó ÝÞã Slemer) öÆ ÷ ø (Lester Ford Jr.) ¢¤ê öþì ͨ ü ±ó ¥Â Ï Ý µþ¤Ú ó × þ Û Ø È Ý µ þ¤ Ú ó ß þ ü Ü ¬ ýùÀ þ .À ª ù¢¢ Ý Þ ã 1959 ñ ¨ ¤¢ (Johnson ý ɿÈõ °Â ×þ ßã ø ÀµÆû °Âõ î ´¨ ýÂ¬ä ¥ "üܬ ýù¹÷¥' ¬ä ýÞû Ûõª üܬ ýù¹÷¥ úµ÷ ¤¢ îý¤Ï ù¹÷¥ ßþ ¤¢ ¬ä ÂÚþ¢ ¤¢ .¢ª & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 72 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' a2 a1 $ abn/2c a3 if n is odd b1 b2 b3 ô & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 k bbn/2c bbn/2c+1 ýÜÂõ ¤¢ üܬ ýù¹÷¥ ¤¢ ¤¢ ýù½÷ 73 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' a1 b1 a2 b2 a4 a3 b3 ¤¢ ôø¢ ýÜÂõ b2 Àã b3 ñø b4 a6 a5 b5 b6 ¤¢ ô¨ ýÜÂõ b4 Àã b5 ñø $ a7 b7 a10 b10 a11 b11 ¤¢ ô¤ú ýÜÂõ b6 b11 °Â .ôk ýÜÂõ ¤¢ üܬ ýù¹÷¥ ¤¢ ¤¢ ýù½÷ 2tk−1 & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 + (tk − tk−1) − 1 = tk + tk−1 − 1 = 2k − 1 74 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' :´¨ Âþ¥ ¤¬ ÂÊä .ßî ÝÆÖ (Àª Âê $ n ý¥¨°Âõ ý ݵþ¤Úó f Þµ ø ÂÊäø¥ b n c ¤ ¬ä (1 n Âð) üê® ÂÊä ×þ 2 .ßî°Âõ ¤ ûö ø ßî ÆþÖõ Ýû ¤ ÂÊäø¥ Âû (2 ö ¥ Å ø ßî °Âõ ¤ (¬äø¥ ¥) Â×î ÂÊä ýù ¹ ÷¥' ¤ a1 ≤ a2 ≤ . . . ≤ ab 2n c b 2n c üµÈ𥠤¬ (3  ¬ ä .ß î ý¤Á ðô ÷ Û Ø ª Õ Î õ ¤  ¬ ä .Ýõ÷üõ "üܬ üþø¢ø¢ ©ø¤ üܬ ýù¹÷¥ ýóø Ç¿ Âþ¥ °Â ¤ Ûت ¤¢ b ¬ä (4 ýù¹÷¥ ñø Ç¿ Â¬ä ¢Àã î ´¨ ùÀª ¿µ÷ ý¤Ï °Â ßþ .ßî ¤¢ :¢Âî ¢¹þ ¤ Ûõî ýù¹÷¥ öµ ÆþÖõ f Þµ ø b1 ≤ a1 ýù¹÷¥ ¤ b2 ų¨ ø k b1 ≤ a1 ≤ a2 Àª 2k − 1 üܬ ýù¹÷¥ ¤ b3 Àµ .´¨ ÂþÁöØõ ÆþÖõ 2 ¤¢ ø 3 ·îÀ ù¹÷¥ Â¬ä ¢Àã .ßî ¤¢ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 75 (a b3 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' ¤ b4 ų¨ .ßî ¤¢ b3 b1 ø a4 7 ·îÀ ù¹÷¥ Â¬ä ¢Àã .ßî ¤¢ a1 $ ÂÊä 7 Ûõª ýù¹÷¥ ¤ b4 f Þµ ø b3 b1 ,a3 a1 b5 (b Àµ ýù¹÷¥ .´¨ ÂþÁöØõ ÆþÖõ 3 ¤¢ Âû ø ýÜÂõ ¤¢ ,t1 , t2 , . . . = 1, 3, 5, 11, . . . ý üÜî ´ó ¤¢ .ùÀ õ¢ ¤ À÷ø¤ ßþ ÂÊä ö ¥ f Þµ î ý¬ä ýù¹÷¥ ¤¢ °Â ¤ bt btk ÂÊä Âû ô k−1 +1 (c k (¢ ø ¤ ¬ ¤¢) bb n c+1 Â Ê ä Û õ ª Ü Â õ ß þ ¡ .ß î ¤¢ À ÷Â × î 2 .¢ªüõ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 76 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ݵþ¤Úó Ûܽ ø ±¨½õ î Ýî ßã ý¤Ï ¤ û tk 2tk−1 + (tk − tk−1) − 1 = tk + tk−1 − 1 = 2k − 1 t0 = 1 î Ý÷¢üõ .Ýî Û k > 0 ý ¤ tk = 2k − tk−1 üµÈð¥ ýΤ ´¨ üêî Å î ´¨ ߪø¤ ý¤Áðý ø ö¢Âî¥ tk = & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 k X (−1)k−i2i i=0 77 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ¥ ù¢Ôµ¨ 4tk = k X (−1)k−i2i+2 = i=0 k+ X2 i=2 (−1)k−i2i Ýþ¤¢ 4tk k+2 − tk = 2 = 2 = 2 = 2 k+1 k+1 k+1 − 2k+1 − (−1)k−121 − (−1)k 20 − " 2(−1) k−1 + (−1) k # − (−1)k−1 + (−1)k :Ýþ¤¢ ö ¥ ø 1 tk = [2k+1 + (−1)k ] 3 & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 78 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ݵþ¤Úó Ûܽ ûÆþÖõ ¢Àã n n n 2 2 2 F (n) F (n) = b c + F (b c) + G(d e) üܬ ýù¹÷¥ ¤¢ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 b Â¬ä ¤¢ ý ô¥ ýûÆþÖõ ¢Àã ·îÀ = G(d 2n e) 79 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ tk−1 ≤ m < tk Å .¢¤¢ ¥÷ ÆþÖõ j G(m) = ·îÀ tj−1 k− X1 j=1 ≤ k ≤ tj Âð î bk ÂÊä Âû ¤¢ î Ý÷¢üõ j(tj − tj−1) + k(m − tk−1) Ýþ¤¢ ø k− X1 j=1 j(tj − tj−1) = [(k − 1)tk−1 − (k − 1)tk−2] + [(k − 2)tk−2 − (k − 2)tk−3] + . . . + (t1 − t0) = (k − 1)tk−1 − tk−2 − tk−3 − . . . − t1 − t0 ßþ ø G(m) = km − (tk−1 + tk−2 + . . . + t1 + t0) ≤ km & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 80 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ Ýþ¤¢ m ≥ tk−1 = (2k + (−1)k−1)/3 ≥ 2k−2 k ≥ 1 ¤ÀÖõ ×þ ý k ≤ lg m + 2 Å ßþ G(m) ≤ km ≤ m lg m + 2m Å F (n) ≤ n 2 n n n n n + F (n/2) + d e lgd e + 2d e ≤ F ( ) + lg n + O(n) 2 2 2 2 2 ÝþÂðüõ ½µ÷ î n lg n ≤ F (n) ≤ n lg n + O(n) & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 81 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ Àî Âê ,ÂÕì¢ ý±¨½õ ý wk = t0 + t1 + · · · + tk−1 = b 2k+1 3 c ,¤¬ ßþ ¤¢ (w0, w1, w2, w3, w4, · · ·) = (0, 1, 2, 5, 10, 21, · · ·) î ¢Âî ± öüõ F (n) − F (n − 1) = k ⇐⇒ wk < n ≤ wk+1 ´¨ ñ¢ãõ ¡ ¯Âª ø 2k+1 3 <n< 2k+2 3 3 =⇒ k + 1 < lg(3n) ≤ k + 2 =⇒ k = lg( n) 4 ßþ 3 & ü¨Àì ÀÞ½õ F (n) − F (n − 1) = dlg( n)e 4 c 1389 ý¢ 18 82 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ :´¨ Âþ¥ ¤¬ üµÈð¥ ýΤ ßþ ø F (n) = & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 n X dlg( k)e k=1 83 3 4 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ öÆ÷-¢¤ê ݵþ¤Úó üþ¤î n= dlg n!e = F (n) = 1 2 3 4 5 6 n= dlg n!e = F (n) = 18 19 20 21 22 23 24 25 26 27 28 29 53 57 62 66 70 75 80 84 89 94 98 103 108 113 7 8 ü¨Àì ÀÞ½õ c 10 11 12 13 14 15 16 17 0 1 3 5 7 10 13 16 19 22 26 29 33 37 41 45 49 0 1 3 5 7 10 13 16 19 22 26 30 34 38 42 46 50 30 31 54 58 62 66 71 76 81 86 91 96 101 106 111 116 .ßþ öÂî ö ýÆþÖõ ø ¬ä Ýî ¢Àã ý & 9 1389 ý¢ 18 F (n) öÆ÷-¢¤ê ݵþ¤Úó ýûÆþÖõ ¢Àã :1 ñøÀ 84 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ (Âê) ü¤¡ ý¥¨°Âõ .´¨ ùÀª ù¡£ ü±Â ¤¬ ûÛþê ýø¤  ä Ï .¢¤¢ ÀÜî ×þ ¢¤î¤ Âû .´¨ ¢¤î¤ n Ûõª Ûþê Âû • .Àª °Âõ öÈþûÀÜî §¨Â û¢¤î¤ üø¡ Ûþê ¤¢ Ýû¡üõ • ÀµÆû ¥ öõ¥ ×þ ¤¢ î üþûÛþê ¢Àã • .´¨ ´ ù¢Ôµ¨ Ûì üܬ ýÑê ¢Àã • .¢ª ô¹÷ üܬ ýÑê ¤¢ À÷üõ ÍÖê ±¨½õ ø ÆþÖõ ÜÞä • .´¨ ¢øÀ½õ ø & ü¨Àì ÀÞ½õ c • ×Æþ¢ ü¨Âµ¨¢ Âû .¢ªüõ ùÀ÷¡ ¢¤î¤ 1389 ý¢ 18 r 85 k • ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ×Æþ¢ ûü¨Âµ¨¢ ¢Àã :üþ¤î ¤ãõ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 86 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ (External Merge Sort) üõè¢ ü¤¡ ý¥¨°Âõ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 87 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ °Âõ ýãÎì ø¢ ôè¢ 1 ý¢ø¤ø °Âõ Ûþê 1 3 5 9 9 10 15 9 1 3 4 5 5 üø¡ °Âõ Ûþê 7 8 9 2 ý¢ø¤ø °Âõ Ûþê 11 4 5 7 8 11 12 17 üܬ ýÑê & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 88 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' ¢¤î¤ n2 $ ôø¢ ýãÎì ø ¢¤î¤ .¢¢ ô¹÷ ¤ ôè¢ öüõ ßµª÷ ¢Àã ßÞû ø öÀ÷¡ ¤ .¤ n1 ñø ýãÎì n1 + n2 ,k =1 d nk1 e + d nk2 e üÜî ´ó ¤¢ üóø .¢¤î¤ 3k ýù¥À÷ :¥÷ ¢¤õ ýÑê ¤ÀÖõ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 89 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ °Âõ Ûþê À ôè¢ k ¢¤î¤ k f1 b1 k f2 b2 fo bo f3 b3 fr br üܬ ýÑê .¢¤¢ ¢¤î¤ ni .¤ d e i=1 k r X .¢¤î¤ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 (r + 1)k 90 ni ýù¥À÷ fi :ûü¨Âµ¨¢ ¢Àã ýù¥À÷ :¥÷ ¢¤õ ýÑê ¤ÀÖõ ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ üõè¢ ü¤¡ ý¥¨°Âõ 2i 2i−1 g1 f1 f2 g2 üܬ ýÑê & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 91 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ (üÜî ݵþ¤Úó) üõè¢ ü¤¡ ý¥¨°Âõ .´¨ µ g2 g1 ,f2 ,f1 ø .ßî ÝÆÖ é µ¡ ¢¤î¤ ×þ ¢Àã ·îÀ Ûþê ¤ú .¢ªüõ ö f2 ø f1 Ûþê ø¢ ¤ ý¢ø¤ø Ûþê (1 :ßî ¤ÂØ ¤ Âþ¥ ÛÂõ 2i−1 ñ Ï ü ã Î ì Û õ ª (g2 ø g1 þ) f2 ø f1 k = 1 ý i = 1, . . . , M ý (2 î Ý îü õ  ê Ü Â õ ß þ ¤¢ Àø ×þ ·îÀ ý¢ø¤ø Ûþê ø¢ ãÎì ¢Àã ø ´¨ °Âõ ãÎì Âû ø ÀµÆû .¢¤¢ é µ¡ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 92 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ f2 ýûù¤Þª ãÎì .ÝþÂðüõ ÂÑ÷ ¤¢ ý¢ø¤ø ýûÛþê ¤¬ ¤ .ß î ¢ ¹ þ   ø¢ ñ Ï ý ã Î ì ø ß î ô è¢ Â Ú þ¢× þ ¤ f2 ø f1 ø f1 (1-2 ö ¨× þ (ÂÝî ñÏ ãÎì ×þ ·îÀ Ã) 2i ñÏ °Âõ üãÎì ôè¢ ßþ Û¬ .Åþ g2 ¤¢ ÂÚþ¢ ¤ ø ¤¢ üø¡ ýûÛþê öä ¤ f2 ø f1 g1 ¤¢ ¤×þ °±Â ¤ ãÎì ßþ ´¨ ø ý¢ø¤ø ýûÛþê öä ¤ g2 ø g1 (2-2 .ßî ¤ÂØ ¤ ýÜÂõ ø ÂÚ ÂÑ÷ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 93 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ üõè¢ ü¤¡ ý¥¨°Âõ ñ·õ fin 28 3 93 10 54 65 30 90 10 69 8 22 31 5 96 40 85 9 39 13 8 77 10 f1 28 3 93 10 54 65 30 90 10 69 8 22 f2 31 5 96 40 85 9 39 13 8 77 10 g1 28 31 93 96 54 85 30 39 8 10 8 10 g2 3 5 10 40 9 65 13 90 69 77 22 f1 3 5 28 31 9 54 65 85 8 10 69 77 f2 10 40 93 96 13 30 39 90 8 10 22 g1 3 g2 9 13 30 39 54 65 85 90 f1 3 5 f2 8 8 10 10 22 69 77 3 5 5 10 28 31 40 93 96 8 8 10 10 22 69 77 9 10 13 28 30 31 39 40 54 65 85 90 93 96 8 8 9 10 10 10 13 22 28 30 31 39 40 54 65 69 77 85 90 93 96 g1 = fout & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 94 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ Ûܽ ø üµ¨¤¢ üþûãÎì ý¤¢ üø¡ Ûþê Âû i ýÜÂõ ýúµ÷ ¤¢ î ¢¢ öÈ÷ öüõ ÂÖµ¨ • .´ ¨ Â Ý î 2i ¥ Ç ó Ï î ã Î ì × þ  · îÀ à ,´ ¨ 2i ñ Ï ø °  õ .À÷¤¢ é µ¡ Àø ×þ ·îÀ üø¡ Ûþê ø¢ ýûãÎì ¢Àã ßÝû ×þ ýø üø¡ ýûÛþê ¥ üØþ (ÖÜ ¤ÂØ ¢Àã) .´¨ üó¡ ýÂÚþ¢ ø ý¢ø¤ø Ûþê ¢¤î¤ µ ª ÷ ¤ × þ ø ùÀ ÷ ¡ ¤ × þ ¢¤ î¤ ¤ 2n) ´¨ 2n(dlog ne + 1) n M = dlog ne ý ßþ • n ôÞ Ûõª °Âõ ýãÎì ý Þ û ¤Â Ø Â û ¤¢ îß þ •  áÞ¹õ ¤¢ ×Æþ¢ ü¨Âµ¨¢ ¢Àã ,À÷ªüõ .(üܬ Ûþê ÝÆÖ ý ߵª÷ ø öÀ÷¡ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 95 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' n .¢ Àû¡ 2d k e(dlog ne + 1)  ¢Àã ßþ ,k & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 96 $ > 1 ´ó ý • ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' Ñ ê r ¥ ù¢ Ô µ ¨ ø ö Æ Ø þ ü þ ûù¥À ÷ Û þ ê r $ ýø¢¤ø Û þ ê Ý Æ Ö • × Æ þ¢ ü ¨¤´ ¨¢ ¢À ã ,¤ ¬ ö ¤¢ ¢Â î °  õ ¤ Û þ ê ö ü õ à ÷ n .2d k e(dlogr ne + 1)  üÜî ´ó ¤¢ ø ¢ªüõ 2n(dlogr ne + 1) .´¨ ¥÷ 2rk ýù¥À÷ ýÑê üÜî ´ó ¤¢ .Ýþðüõ (Multiway & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 • Merge) ÷ðÀ üõè¢ ¥¨°Âõ ¤ üÜî ´ó • 97 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ (Polyphase) ù¥êÀ ü¤¡ ý¥¨°Âõ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 f3 f2 f1 ôð ¥ Å -- 21(1) 13(1) Àµ 13(2) 8(1) -- 1 5(2) -- 8(3) 2 -- 5(5) 3(3) 3 3(8) 2(5) -- 4 1(8) -- 2(13) 5 -- 1(21) 1(13) 6 1(34) -- -- 7 98 n = 34 :ñ·õ ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ù¥êÀ ü¤¡ ý¥¨°Âõ .Ýþ¤¢ ô¥ Ûþê (r ¢¢Àä ßõ i) Fi  + 1 üÜî ´ó ¤¢) ¨ • n ßî ê® ∞ ÀÜî ¢¤î¤ ¢Àã ßþÂÝî ý¢ø¤ø Ûþê • .¢ª (ü÷±ê (F i & = Fi−1 + Fi−2) ßî ÝÆÖ Fi−2 ü¨Àì ÀÞ½õ c 1389 ý¢ 18 ø Fi−1 99 ýûù¥À÷ Ûþê ø¢ ¤ ý¢ø¤ø Ûþê • ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ßî ¤ÂØ ¤ Âû ýù¥À÷ î ´¨ (Fm = Fi Àµ ¤¢) °Âõ ýãÎì .(Fr Fr+1 Fm M =? ýù¥À÷ • f1 ý¤¢ = F0 = 1 Àµ ¤¢) ´¨ Fr ö ý ã Î ì  û ýù¥À ÷ î ´ ¨ °  õ ý ã Î ì Fm+1 ý¤¢ f2 Ûþê ¥ °Âõ ýãÎì ¢Àã ßÞû ¤ f1 .Åþ ý¤¢ f3 ø Fr+1 ýù¥À÷ ãÎì .´¨ ß Ý û f3 ø .´¨ Ûþê ¥ °Âõ ýãÎì f3 Fm−1 = Fm+1 − Fm Fr+2 = Fr + Fr+1 ö ýãÎì f2 .´¨ üó¡ Ýû ¤ Ûþê¨ ¥ -- Fm -- ¤¢ ¤ Û¬ ø ßî ôè¢ ý¤¢ f2 ,üó¡ f1 ñ -- ýù¥À÷ °Âõ ýãÎì Fm .ùÀ Âç °¨ ¤ ûÛþê ý¤Áðô÷ -- & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 100 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' M $ ¤ÀÖõ ø üµ¨¤¢ ± a(b) + c(d) −→ e(f ) + g(h) ýΤ • ý ã Î ì c î ü Ü þ ê ,b ýù¥À ÷ ôÀ î û °  õ ý ã Î ì °Âõ ýãÎì f ø a ýø Û þ ê × þ ü ã þ e ýø Ûþê ø¢ ø À÷ªüõ ôè¢ ¢¤¢ d ýù¥À÷ ôÀîÂû .Àîüõ ¢¹þ høf °Âõ ýûù¥À÷ :ÖÜ ¥ ÛÖµÆõ üðÄþø .ÀµÆû ü÷±ê ¢Àä ëê • h a ¢Àä ÜÂõ Âû ¤¢ -- .´¨ üú ûÛþê ¥ üØþ ÜÂõ Âû ýúµ÷ ø Àµ ¤¢ -ô i − r − 1 ô𠤢 ,Àª n ýøÆõ þ Âï¤Ã ü÷±ê ¢Àä ßþÂ×î Fi :´¨ ¤Âì Âþ¥ ýΤ ,ݵþ¤Úó ¥ (3 & ü¨Àì ÀÞ½õ Âð -- ≤ r ≤ i − 2 ýÂ) Fr (Fi−r+1) + Fr−1(Fi−r ) −→ Fr−1(Fi−r+2) + Fr−2(Fi−r+1) c 1389 ý¢ 18 101 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ :þ • ö • Fi−1(F2) + Fi−2(F1) −→ Fi−2(F3) + Fi−3(F2) ¥ üØþ ¤¢ ø Ý÷¡üõ ý¢ø¤ø Ûþê ø¢ ¥ ¢¤î¤ Fi−2 ¢Àã ,Fi−2 < Fi−1 .ÝÆþ÷üõ üø¡ ýûÛþê   ö ý ã Î ì  û ýù¥À ÷ ø Fi−2   ü ø ¡ Û þ ê ß þ ã Î ì ¢À ã .¢ Àû¡ .À÷õüõ üì & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 F2 ¢Àã Âï¤Ã Ûþê ¥ • .¢Âî ´ ¤ ñõÂê öüõ ,ÂÖµ¨ ýþ üµ¨¤¢ Âê • ýù¥À÷ ãÎì Fi−1 − Fi−2 = Fi−3 F1 + F2 = F3 • 102 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ø À ÷¤¢ ã Î ì × þ ôÀ î  û ü ø ¡ Û þ ê ø¢ (r = 3 ý ) ô Fi−2 ø Fi−1 .´¨ i−r−1 ô 𠤢 ø ´ ¨ i−4 ô ð ý ú µ ÷ ¤¢ •  °Â öÈþûù¥À÷ .¢ªüõ °Âõ Ûþê ×þ ¤¢ ÃÞû ô ¢À ã Ý µ þ¤ Ú ó ô i−4 i − 3 ôð ýúµ÷ ¤¢ ,Å • Â Â Ý µ þ¤ Ú ó ý ûô ð ¢À ã .ÀÆþ÷üõ ø À÷¡üõ ¢¤î¤ 2Fi−2 Fi−r+2 ¤¢ ,¢¤¢ ¥÷ ×Æþ¢ ü¨¤´¨¢ 2Fi ýù¥À÷ î Ûþê ýóø ÝÆÖ Æµ • • ݵþ¤Úó áÞ¹õ 2F i + i− X2 r=3 2Fi−2 Fi−r+2 .´ª¢ Àû¡ ü¨¤´¨¢ ü¤¡ ýÑê & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 103 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ý¤õ ý±Âõ ÂÊä ßþÂï¤Ã ø ßþÂ×î ÆþÖõ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 104 d 32n − 2e ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ¬ä ßþÂ×î ø¢ ÆþÖõ n − 1 + n − 2 :üúþÀ Ûù¤ : Ûù¤ ¤¢ ÂÊä ßþÂ×î ßã ý dlg ne áÔ¤ ø ï n ÆþÖõ ´¡¤¢ ×þ ¢¹þ • n ´¡¤¢ ßþ üÜ¡¢ ýûùÂð ¢Àã  ,¢¤¢ ¥÷ ÆþÖõ n − 1 f Öì¢ î) Èþ¤ (ï & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 105 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ .´¨ ùÀª ÆþÖõ ÂÊä ßóø ´¡¤¢ ßþ ¤¢ fÞµ ÂÊä ßþÂ×î ßõø¢ ´¨ ÂÊä dlg ne ß ÂÊä ßþÂ×î ,ÂÊä ßþÂ×î ßõø¢ Å • .¢ªüõ ´êþ ÂÊä ßþÂ×î ßõø¢ ÆþÖõ .ÆþÖõ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 • 106 dlg ne − 1 • n − 1 + dlg ne − 1 áÞ¹õ ¤¢ • ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ :¬ä ßþÂ×î 3 ý ۱ì Ûù¤ ÝÞã ùÀª ÆþÖõ ÂÊä ßþÂ×î ßóø þ ø ßõø¢ þ ÂÊä ßþÂ×î ßõ¨ • .´¨ (ÂÊä ßþÂ×î ¥ Âè) ÂÊä dlg ne − 1 ·îÀ ÂÊä ßþÂ×î ßóø • .´¨ ùÀª ÆþÖõ ßþÂ×î ßõø¢ ø ßþÂ×î ¥ Âè) ÂÊä dlg ne − 2 ·îÀ ÂÊä ßõø¢ • .´¨ ùÀª ÆþÖõ (ÂÊä ·îÀ î Ýî À ¤ ÂÊä 2dlg ne − 3 ·îÀ ß ÂÊä ßþÂ×î Àþ Å ¢¢ ¥÷ ÆþÖõ 2dlg ne − 4 ÆþÖõ & ü¨Àì ÀÞ½õ • n − 1 + (dlg ne − 1) + 2dlg ne − 3 = n + 3dlg ne − 4 ·îÀ áÞ¹õ ¤¢ Å c 1389 ý¢ 18 107 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ..´¨ ¥÷ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 108 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ k > 3 ý ÝÞã ÆþÖõ n−1+ k X i=2 idlg ne − (k + 1) = n + O(k 2 lg n) µªÁð ©ø¤ • O(n + k lg n) ¤¢ :Þî ôÂû ¥ ù¢Ôµ¨ O(n + k lg k) ¤¢ x ñ ýÀÇ¿ ø (x) ÂÊä ßõ k & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 109 ßµêþ • • ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ ÂÊä ßõ k ßµêþ âþ¨ ý¥¨°Âõ ¤¢ ýÀÇ¿ §¨Â O(n) ßÚ÷õ (1 ´ó ßþÂÀ ¤¢ ÀµÆû & ü¨Àì ÀÞ½õ c O(n) (2 O(n) Ç¿ ø¢ ýûù¥À÷ î ßþ ßÞÌ üóø ýÀÇ¿ §¨Â 1389 ý¢ 18 110 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ O(n) ßÚ÷õ ÂÊä ßõ k Randomized-Select (() A, p, r, i) . Find the ith element in A[p..r], assuming 1 ≤ i ≤ r − p + 1 1 if p = r 2 then return A[p] 3 q ← Randomized-Partition (A, p, r) 4 k ← q−p+1 5 if i ≤ k 6 then return Randomized-Select (A, p, q, i) 7 else return Randomized-Select (A, q + 1, r, i − k) & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 111 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ Randomized-Select Ûܽ (ÂÀ ´ó) ÀµÆû ýøÆõ÷ ¬ä î Ýîüõ Âê .´¨ 1 ≤ k ≤ n ©±Âõ , 1n .¢ªüõ ÝÆÖ ýÌä ñÞµ ¤½õ ,Àª • n Â¬ä ¢Àã Âð • n − 1 ø ýÌä 1 Ç¿ ø¢ þ¤ ,Àª k = 1, 2 Âð • .¢ªüõ ÝÆÖ ýÌä n−k ø ýÌä k Ç¿ ø¢ þ¤ ,n üÜî ´ó ¤¢ • Å T (n) ≤ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 1 n T (max(1, n − 1)) + n− X1 k=1 112 T (max(k, n − k)) + O(n) ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' T (n) ≤ 1 n T (max(1, n − 1)) + n− X1 k=1 $ T (max(k, n − k)) + O(n) Ýþ¤¢ max{k, n − k} = k if k ≥ dn/2e, n − k if k < dn/2e T( ýûÜÞ :¢Âê ,À÷ªüõ ÂûÒ ý Ü Þ ø ¤ ø¢ X ¤¢ ¤ø¢ lceiln/2e), T (dn/2e + 1), . . . , T (n − 1) T (dn/2e + 1), T (dn/2e + 2), . . . , T (n − 1) ý û Ü Þ :ø¥ .À÷ªüõ ÂûÒ ¤ ×þ .´êÂð ùÀþ¢÷ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 n• n• T (dn/2e) O(n) ÛÖõ ¤¢ öüõ ¤ 1n T (n − 1) ýÜÞ • 113 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' Å T (n) ≤ ≤ = 1 n 1 n 2 T (max(1, n − 1)) + T (n − 1) + 2 n− X1 n k=dn/2e n− X1 k=dn/2e n− X1 k=1 $ T (max(k, n − k)) + O(n) T (k) + O(n) T (k) + O(n). :Ýîüõ Û ÂÖµ¨ ¤ ¡ ýΤ T (n) ≤ cn & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 114 :Âê ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' T (n) ≤ ≤ = ≤ = $ n− X1 2 ck + O(n) n k=dn/ 2e dn/ 2 e− 1 2c n− X1 X k− + O(n) n k=1 k=1 2c 1 1 n n − 1 + O(n) (n − 1)n − n 2 2 2 2 c n n c(n − 1) − − 1 + O(n) 2 2 n 1 3 c n − + O(n) 4 2 ≤ cn c(n/4 + 1/2) > O(n) î ý¤Ï Ýî ¿µ÷ ï¤Ã üêî ¤Àì ¤ c Ý÷üõ Âþ¥ & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 115 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' $ O(n) ¤¢ ÂÊä ßõ k ßµêþ ´ó ßþÂÀ ¤¢ Ç¿ø¢ ýù¥À÷ î Ýî ßÞÌ Ýîüõ ¿µ÷ ý¤Ï ¤ ¤½õ .ÀµÆû & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 116 O(n) ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' dd 5n e/2e 1 $ d 5n e 2 x & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 117 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' .ÀµÆû x ¥ Â×î ÂÊä 3 ý¤¢ ùøÂð d dn/25e e − 2 ÛìÀ • ÛìÀ 1 3 2 n 5 − 2 ≥ 3n 10 $ x ¥ Â×î Â¬ä ¢Àã • −6 .´¨ .¢ Àû¡ 3n/10 7n/10 +6 − 6 ÛìÀ Ã÷ x ¥ Âï¤Ã Â¬ä ¢Àã ,Èõ ¤¬ •  · îÀ ýø¤Â ü µ È ð¥ ¤ ¬ Ý µ þ¤ Ú ó ,´ ó ß þ À ¤¢ ,Å • .Àª Àû¡ ñÞä ÂÊä & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 118 ³õî ü¨Àúõ ýùÀØÈ÷¢ % ûݵþ¤Úó ü÷±õ ø û¤µ¡¨ù¢¢ ' Θ(1) T (n) ≤ T (dn/5e) + T (7n/10 + 6) + O(n) .T (n) $ n ≤ 80 n > 80 ≤ cn ݪ µª¢ n ≤ 80 Âû ø øÂÔõ c ×þ ý :Âê T (n) ≤ cdn/5e + c(7n/10 + 6) + O(n) ≤ cn/5 + c + 7cn/10 + 6c + O(n) ≤ 9cn/10 + 7c + O(n) ≤ cn & ü¨Àì ÀÞ½õ c 1389 ý¢ 18 119 ³õî ü¨Àúõ ýùÀØÈ÷¢ %
© Copyright 2025 Paperzz