๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿš— Major Study (Bachelor)/๐ŸŸจ Algorithm

์•Œ๊ณ ๋ฆฌ์ฆ˜ 2์ฃผ์ฐจ ์›”์š”์ผ ๊ฐ•์˜

by UKHYUN22 2022. 3. 9.
728x90

์•Œ๊ณ ๋ฆฌ์ฆ˜

 

 

Growth of Functions

 

 

function์ด ์–ด๋–ป๊ฒŒ ์ž๋ผ๋Š”๊ฐ€. Time complexity์— ๊ด€ํ•œ ๊ฒƒ์„ ๋ฐฐ์šฐ๋Š” ๊ณผ์ด๋‹ค. ๋ฌผ๋ก  ๋”๋ถˆ์–ด์„œ Space complexity๋„ ๋ถ„์„ํ•˜๊ฒŒ ๋œ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ์žˆ๋Š”๋ฐ ์–ด๋–ค order(์ฐจ์›)์—์„œ ์ ์šฉ์ด ๋˜๋Š”์ง€๋ฅผ, ํšจ์œจ์„ฑ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. Input size N์ด ๋ฌดํ•œ๋Œ€๋กœ ๊ฐ”์„ ๋•Œ A, B ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์–ด๋Š ๊ฒƒ์ด ๋” ์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š” ์ง€๋ฅผ ๋ฒ”์ฃผํ™”ํ•˜์ž๋Š” ๊ฒƒ์ด๋‹ค. ๋ฌผ๋ก  ์–ด๋–ค INput์ด ๋“ค์–ด๊ฐ€๋Š”์ง€์— ๋”ฐ๋ผ์„œ ์ฐจ์ด๊ฐ€ ์žˆ๊ฒ ์ง€๋งŒ ์–ด๋–ค ๊ธ‰์ธ์ง€๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ํ…Œํฌ๋‹‰์ด ๋˜๊ฒ ๋‹ค.

 

 

Growth of Function

N = 2์ผ ๋•Œ N = 3์ผ ๋•Œ ์ด๋Ÿฐ ์ž์„ธํ•œ ๊ฒƒ์„ ๋‹ค๋ฃจ์ง€ ์•Š๊ณ  ๋ฌดํ•œ๋Œ€๋กœ ๊ฐ”์„ ๋•Œ ์–ด๋–ป๊ฒŒ ๋˜๋Š”์ง€์— ๋Œ€ํ•œ ์ˆ˜ํ•™์  ์ˆ˜์‹์„ ์ด์šฉํ•ด์„œ ์–ด๋Š ๊ธ‰์— ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๊ณ ์ž ํ•œ๋‹ค. Focus on what’s importatnt by abstracting away low-order term, 3์Šน๊ณผ 2์Šน์ด ์žˆ์œผ๋ฉด ์ƒ์ˆ˜์™€ 2์Šน์„ ๋ชจ๋‘ ์ œ์™ธํ•˜๊ณ  ๋น„๊ต๋ฅผ ํ•˜๊ฒ ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. 

 

 

Notation

์ˆ˜ํ•™ ๊ธฐํ˜ธ๋กœ 5๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค. Little Oh, Little Omega๋Š” ๊ฑฐ์˜ ๋‹ค๋ฃจ์ง€ ์•Š์„ ๊ฒƒ. Theta, BigOh๋ฅผ ์ฃผ๋กœ ๋‹ค๋ฃจ๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. n์ด ๋ฌดํ•œ๋Œ€๋กœ ๊ฐ”์„ ๋•Œ cg(n)๊ณผ ๊ฑฐ์˜ ๋™๊ธ‰์— ์žˆ๋‹ค๊ณ  ํ•˜๋ฉด Theta๊ฐ€ ๋œ๋‹ค. cg(n)๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด BigOh๋ผ๊ณ  ํ‘œํ˜„์„ ํ•˜๊ณ  Upper Bound๋ผ๊ณ  ์–˜๊ธฐ๋ฅผ ํ•œ๋‹ค. f(n)์€ ๊ฒฐ์ฝ” cg(n)์„ ๋„˜์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์ด๋ ‡๊ฒŒ ํ‘œํ˜„์„ ํ•œ๋‹ค. ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ Omega๋Š” f(n) ์ด cg(n) ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ๊ฒฝ์šฐ์ด๊ณ  lower bound๋ผ๊ณ  ์–˜๊ธฐ๋ฅผ ํ•œ๋‹ค.

 

 

O-notation

BigOh์˜ ์ˆ˜ํ•™์ ์ธ ํ‘œํ˜„์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์–ด๋–ค ํŠน์ • ์ง€์ ์„ ์ง€๋‚˜๋ฉด f(n)์€ cg(n) ๋ณด๋‹ค ํ•ญ์ƒ ์ž‘์€ ์ง€์ ์ด ์กด์žฌํ•œ๋‹ค. ๊ทธ ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ค๋Š” n0 ์ง€์ ์ด ์กด์žฌํ•˜๊ณ  constant c ๊ฐ€ ์กด์žฌํ•˜๋ฉด ๊ทธ๊ณณ์„ O(g(n)) ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

Lower bound

 

 

Exact bound

๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด์„ ๋ชจ๋‘ ๋งŒ์กฑํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค. Upper bound์™€ lower bound๋ฅผ ๋‘˜ ๋‹ค ๋งŒ์กฑ์„ ํ•  ๋•Œ๋ฅผ ๋งํ•œ๋‹ค. ์ƒ์ˆ˜๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์ œ์ผ high order์˜ term์„ ๋งŒ๋“ค์–ด ๋†“์œผ๋ฉด ์„ธํƒ€๊ฐ€ ๋œ๋‹ค. 

 

 

Theorem and Rule

๋‘ ๊ฐœ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด Theta๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋•Œ๋กœ๋Š” ๋น„๊ตํ•˜๊ธฐ ์–ด๋ ค์šธ ๋•Œ๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ ๊ทธ๋Ÿด ๋•Œ ๋กœํ”ผํƒˆ์˜ ์›๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ๋ถ„์ž์™€ ๋ถ„๋ชจ๋ฅผ ๋‘˜ ๋‹ค ๋ฏธ๋ถ„์„ ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. 

 

Small o notation

์ƒ์ˆ˜ c์™€ equals sign์ด ์—†๋‹ค๋Š” ๊ฒƒ์ด ์ฐจ์ด์ ์ด๋‹ค. ์„ธํƒ€๊ฐ€ ๋น ์ง„ ๋ถ€๋ถ„์ด equal์ด ๋น ์ง„ ๋ถ€๋ถ„์ด ๋œ๋‹ค. n^3์€ BigOh n^3์€ ๋งž๋Š” ๋ง์ด๋‹ค. ํ•˜์ง€๋งŒ n^3์€ ์„ธํƒ€ n^3์ด๋ฏ€๋กœ small Oh๊ฐ€ ๋  ์ˆ˜ ์—†๋‹ค.

 

 

Little omega

์ž๊ธฐ ์ž์‹ ์— ๋Œ€ํ•œ ์„ธํƒ€ ๊ฐ’์ด ์ œ์™ธ๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ n์ด small Oh n์ด ๋  ์ˆ˜ ์—†๋‹ค.

 

 

๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ˜•์‹์œผ๋กœ ํ‘œํ˜„์„ ํ•ด์•ผ ํ•œ๋‹ค. Time Complexity๋ฅผ ์ ์œผ๋ผ๊ณ  ํ•˜๋ฉด ์„ธํƒ€์ธ์ง€ ๋น…์˜ค์ธ์ง€ ํ‘œ์‹œ๋ฅผ ๊ผญ ํ•ด์•ผ ํ•œ๋‹ค. Low order term์€ ์ œ๊ฑฐ๋ฅผ ํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ‘œํ˜„ํ•ด์•ผ ํ•œ๋‹ค.(*****)

 

 

Proposition

์„ธํƒ€์˜ ์„ฑ์งˆ์„ ์–˜๊ธฐํ•˜๊ณ  ์žˆ๋‹ค. f์™€ g๊ฐ€ ์„ธํƒ€ ๊ด€๊ณ„์— ์žˆ๋‹ค๊ณ  ํ•˜๋ฉด f์™€ g๋Š” ๋™์ผํ•œ order์— ์žˆ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

๊ธฐ๋ณธ์ ์œผ๋กœ n์œผ๋กœ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ์„ค๋ช…ํ•œ๋‹ค,. Upper bound์™€ lower bound, ์„ธํƒ€์— ๋Œ€ํ•œ ์ •๋ฆฌ. As tight as possible, ๊ฐ€๋Šฅํ•œํ•œ ์„ธํƒ€๋ผ๋Š” ํ‘œํ˜„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๊ณ , ๊ทธ๋ ‡๊ธฐ ์–ด๋ ต๋‹ค๋ฉด BigOh๋ฅผ ํ†ตํ•ด์„œ ํ‘œํ˜„์„ ํ•ด์•ผ ํ•œ๋‹ค. ๊ฐ€๋Šฅํ•œ ํ•œ ์„ธํƒ€๋ฅผ ๋ถ™์ด๊ณ , ์•ž์— ๋ถ™๋Š” ํ‘œํ˜„ ๋ฐฉ์‹์„ ๋ฐ˜๋“œ์‹œ ๋ถ™์—ฌ์•ผ ํ•œ๋‹ค.

 

Optimality of algorithm

Inherent == ๋‚ด์ œํ•˜๊ณ  ์žˆ๋Š”, ๊ฐ๊ฐ์˜ ๋ฌธ์ œ๋Š” ์›๋ž˜๋ถ€ํ„ฐ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ณต์žก์„ฑ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค, ๊ทธ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ ์ตœ์†Œ ํ•„์š”ํ•œ ๋Ÿ‰์ด ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. Sorting์˜ ๊ฒฝ์šฐ n๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ์žˆ๊ณ  ์ž‘์€ ์ˆซ์ž๋ถ€ํ„ฐ ํฐ ์ˆซ์ž๊นŒ์ง€ ์ •๋ ฌ์„ ํ•˜๋Š” ๊ฒƒ์ธ๋ฐ Constantํ•œ ํƒ€์ž„์— ํ’€ ์ˆ˜๋Š” ์—†์„ ๊ฒƒ์ด๋‹ค. Sorting์ด๋ผ๋Š” ๋ฌธ์ œ๋ฅผ ํ’€๋ ค๋ฉด ์ตœ์†Œํ•œ nlogn์˜ ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์–˜๊ธฐ๋ฅผ ํ•œ๋‹ค. ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ’€๋•Œ ์ตœ์†Œ ํ•„์š”ํ•œ ์‹œ๊ฐ„์„ lower bound of problem์ด๋ผ๊ณ  ํ•œ๋‹ค, ๊ทธ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๊ฒƒ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ์‹œ๊ฐ„์€ ์ตœ์†Œ nlogn์ธ๋ฐ ์ด๊ฒƒ๋ณด๋‹ค ๋” ๋นจ๋ฆฌ ํ’€ ์ˆ˜๋Š” ์—†๋‹ค. ๊ทธ๋ž˜์„œ merge sort๋ฅผ Optimal ํ•˜๋‹ค๊ณ  ํ‘œํ˜„์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. Mergesort ๋ณด๋‹ค ๋” ๋น ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์กด์žฌํ•  ์ˆ˜ ์—†๋‹ค. Merge์™€ ๊ฐ™์€ order์— ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ Heap sort๊ฐ€ ๋œ๋‹ค. ์ด์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋„ ์„ธํƒ€ nlogn์ด๋‹ค. Problem์˜ lower bound์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ worst case ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ๋งค์น˜๋˜์—ˆ์„ ๋–„ Optimal ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ.๊ฐ€์žฅ ๋น ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ํ•˜๋”๋ผ๋„ Optimal ํ•˜๋‹ค๊ณ  ํ•  ์ˆ˜ ์—†๋‹ค. ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด ๊ฐ€์žฅ Lower bound๊ฐ€ Optimal ํ•œ ๊ฒƒ์ด ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

 

Example

์–ด๋–ค ์‚ฌ๋žŒ์ด ์ด ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๋ฐ ์ตœ์†Œํ•œ n^2๋งŒํผ ๊ฑธ๋ฆฐ๋‹ค๊ณ  ํ–ˆ๋‹ค๊ณ  ํ•˜์ž. N ์ด๋ผ๊ณ  ํ•˜๋ฉด ์–ด๋Š ์•Œ๊ณ ๋ฆฌ์ฆ˜๋„ optimal ํ•˜์ง€ ์•Š๋‹ค. 

 

Asymptotic performance

์„ธํƒ€ ๋น…์˜ค๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋” ๋น ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ๊ฐ€๋ฅผ ํŒ๋‹จํ•˜๋Š” ์ข‹์€ ํˆด์ด ๋  ์ˆ˜ ์žˆ๋‹ค. ๋” ๋Š๋ฆฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ฐœ๊ฒฌํ•˜๋”๋ผ๋„ ๊ทธ๊ฒƒ์„ ๋ฌด์‹œํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ INput ์‚ฌ์ด์ฆˆ๊ฐ€ n0๋ณด๋‹ค ์ž‘์€ ๊ณณ์— ์œ„์น˜ํ•˜๋‹ค๋ฉด slower ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋” ๋น ๋ฅธ ๊ฒฝ์šฐ๊ฐ€ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค. 

 

 

Practical Complexity

๋ฐ์ดํ„ฐ ์‚ฌ์ด์ฆˆ๊ฐ€ ์กฐ๊ธˆ๋งŒ ๋˜์–ด๋„ ์‹œ๊ฐ„์ด ํ›จ์”ฌ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์–ด๋Š ์ˆœ๊ฐ„์— ์ง€์ˆ˜ํ•จ์ˆ˜์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

Hierarchy of Orders

๋น…์˜ค f๊ฐ€ ๋น…์˜ค g์˜ ์ง„๋ถ€๋ถ„ ์ง‘ํ•ฉ์ด๋‹ค๋ผ๊ณ  ํ•˜๋ฉด ๋น…์˜ค f๋Š” small order๋‹ค ๋ผ๊ณ  ์–˜๊ธฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ง„๋ถ€๋ถ„ ์ง‘ํ•ฉ์ผ ๋•Œ!! Logn ๊ณผ ์Šคํ€˜์–ด n์˜ ๊ด€๊ณ„๋ฅผ ๋ณด๊ธฐ ์œ„ํ•ด์„œ ๋กœํ”ผํƒˆ์˜ ์ •๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŽธ๋ฆฌํ•˜๋‹ค. 

 

 

Time complexity comparison

Input size๊ฐ€ ๋งŽ์ด ์ปค์ง€๊ฒŒ ๋˜๋ฉด , ์ปดํ“จํ„ฐ๊ฐ€ ์ข‹์ง€ ์•Š๋”๋ผ๋„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋” ์ข‹๋‹ค๋ฉด ๋” ๋นจ๋ฆฌ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋น ๋ฅธ ํ•˜๋“œ์›จ์–ด๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ ๋น ๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜๋‹ค.

 

 

 

 

Divide and Conquer

๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋„ ๋ฆฌ์ปค๋Ÿฐ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

๋ฆฌ์ปค๋Ÿฐ์Šค

๊ณ ๋“ฑํ•™๊ต ๋•Œ ์ ํ™”์‹์œผ๋กœ ๋ฐฐ์› ์—ˆ๋‹ค. function์„ ์ž๊ธฐ๋ณด๋‹ค ์ž‘์€ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ•จ์ˆ˜๋กœ ์ •์˜๋ฅผ ํ•œ๋‹ค. T(n)์„ n๋ณด๋‹ค ์ž‘์€ n/2์œผ๋กœ ํ‘œํ˜„์„ ํ•œ๋‹ค. ๊ณ„์† ์ค„์–ด๋“ค๋‹ค๊ฐ€ ์˜ˆ๋ฅผ ๋“ค์–ด n ์ด 1 ๋˜๋Š” 0, ์ถฉ๋ถ„ํžˆ ์ž‘์€ ๊ฐ’์— ์žˆ์„ ๋•Œ Constant time์ด๋ผ๊ณ  ํ•œ๋‹ค.

๋ฌธ์ œ๊ฐ€ ์ž‘์•„์ง€๊ฒŒ ๋˜๋ฉด Constant ๋กœ ํ’€ ์ˆ˜ ์žˆ๊ณ   ๊ทธ ๊ฐ’์„ ํ•ฉ์น˜๊ฒŒ ๋˜๋ฉด ๋œ๋‹ค. Floor์™€ ceiling์œผ๋กœ ๋˜์–ด์žˆ์œผ๋ฉด ํ’€๊ธฐ ํž˜๋“ค๋‹ค. Boundary condition๋˜ํ•œ ์ค‘์š”ํ•˜๋‹ค. ๋งจ ๋์œผ๋กœ ๊ฐ”์„ ๋•Œ 

 

 

๋ฆฌ์ปค๋Ÿฐ์Šค ์˜ˆ์‹œ

n์ด ์ž‘์•„์ ธ์„œ ํ‘œํ˜„์ด ๋œ๋‹ค.

 

 

ํ‘ธ๋Š” ๋ฐฉ๋ฒ•

Recursion tree์™€ Master method๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. 

 

 

Substitution method

์ถ”๋ก  ํ›„ ์ˆ˜ํ•™์  ๊ท€๋‚ฉ๋ฒ•์œผ๋กœ ์ถ”๋ก ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. 

 

 

์˜ˆ์‹œ์ž๋ฃŒ

3๊ฐ€์ง€ ๋‹จ๊ณ„๊ฐ€ ์žˆ๋Š”๋ฐ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์—์„œ ๋‹ค๋ฃจ๋„๋ก ํ•œ๋‹ค. mergesort์˜ ๋ฐฉ์ •์‹๊ณผ ๋™์ผํ•˜๋‹ค.

 

 

ํŠธ๋ฆฌ ๋ฐฉ๋ฒ•

๋ ˆ๋ฒจ ๋งˆ๋‹ค cost๋ฅผ ๋”ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•œ๋‹ค. ๊ฐ๊ฐ์˜ ํ•˜๋‚˜๊ฐ€ sub problem๋“ค์„ ๋‹ค ๋”ํ•˜๋‹ค ๋ณด๋ฉด ์ „์ฒด cost๊ฐ€ ๋‚˜์˜จ๋‹ค

 

 

ํŠธ๋ฆฌ ์˜ˆ์‹œ

ํŠธ๋ฆฌ๋ฅผ ์™„์„ฑ์‹œํ‚ค๊ณ , ๋†’์ด๋ฅผ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค. 4์˜ n์Šน ๋ถ„์˜ 1๋กœ ๊ณ„์† ์ค„์–ด๋“ ๋‹ค. Leaf ์˜ n ๊ฐ’์„ ํ†ตํ•ด์„œ height๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

๊ทธ ๋‹ค์Œ ํ•ญ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ณ ๋ คํ•ด๋ด์•ผ ํ•œ๋‹ค. Leaf level์˜ ์ „์ฒด ๊ฐœ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ด๋ด์•ผ ํ•œ๋‹ค. 

 

๋น…์˜ค์™€ ๋น…์˜ค๋ฉ”๊ฐ€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฏ€๋กœ ์„ธํƒ€๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

Iteration Method

 

 

 

 

 

Proof By Induction

N์ด ์˜ณ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ง€ ๋ง๊ณ  n-1๊นŒ์ง€ ์˜ณ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋Š” ๊ฒƒ์ด ๋…ผ๋ฆฌ์ ์œผ๋กœ ์˜ค๋ฅ˜๊ฐ€ ์—†๋‹ค.