๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ ์‹ค์Šต

์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ ์‹ค์Šต - [1] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„์„ (1)

์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€?

  ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ์œ ํ•œํ•œ ์‹œ๊ฐ„ ๋‚ด์— ํ•ด๊ฒฐํ•˜๋Š” ๋‹จ๊ณ„์  ์ ˆ์ฐจ

 

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ž€? 

  ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์งํ•˜๊ณ  ์ ‘๊ทผํ•˜๋Š” ์ฒด๊ณ„์  ๋ฐฉ์‹

 

 

์šฐ๋ฆฌ๋Š” ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ฐ์ดํ„ฐ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์— ๊ด€์‹ฌ์ด ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ '์ข‹๋‹ค'๋Š” ๊ธฐ์ค€์€

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ž‘์—…์— ์†Œ์š”๋˜๋Š” ์‹คํ–‰์‹œ๊ฐ„
  • ๊ธฐ์–ต์žฅ์†Œ ์‚ฌ์šฉ๋Ÿ‰ (๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰)

์— ๋”ฐ๋ฅธ๋‹ค. 

 

๋”ฐ๋ผ์„œ ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ข‹๋‹ค๊ณ  ๋ถ„๋ฅ˜ํ•˜๋ ค๋ฉด, ์ด๋ฅผ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•œ ์ •๋ฐ€ํ•œ ์ˆ˜๋‹จ์„ ํ•„์š”๋กœ ํ•œ๋‹ค!

 

์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” ์‹คํ–‰์‹œ๊ฐ„์„ ๋”ฐ์ง€๊ฒŒ ๋œ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ž…๋ ฅ -> ์ถœ๋ ฅ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , 

์ผ๋ฐ˜์ ์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‹คํ–‰์‹œ๊ฐ„(Running Time)์€ ๋Œ€์ฒด๋กœ ์ž…๋ ฅ์˜ ํฌ๊ธฐ(Input Size) ์™€ ํ•จ๊ป˜ ์ปค์ง„๋‹ค.

 

ํ‰๊ท ์‹คํ–‰์‹œ๊ฐ„(average case running time)์€ ๊ฒฐ์ •ํ•˜๊ธฐ ์–ด๋ ต๊ธฐ์—, ์ตœ์•…์‹คํ–‰์‹œ๊ฐ„(Worst case running time)์— ์ง‘์ค‘ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ์‚ฌ์šฉํ•˜๋Š” ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด์— ๋”ฐ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์†๋„๊ฐ€ ์ฐจ์ด๊ฐ€ ๋‚˜๊ฒŒ๋˜๋ฏ€๋กœ ์ด์— ๋ฌด๊ด€ํ•˜๊ฒŒ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋Š”๋ฐ, ์ด๋•Œ ์ด๋ก ์  ๋ฐฉ๋ฒ•์œผ๋กœ ์‹คํ–‰์‹œ๊ฐ„์„ ๊ตฌํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋ก ์  ๋ฐฉ๋ฒ•์œผ๋กœ ์‹คํ–‰์‹œ๊ฐ„์„ ๊ตฌํ•  ๋•Œ๋Š” ์˜์‚ฌ์ฝ”๋“œ๋กœ ํ‘œํ˜„๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์˜์‚ฌ์ฝ”๋“œ (Pseudo - code, ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ๊ธ‰ ์–ธ์–ด)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๋ฐฐ์—ด์˜ ์ตœ๋Œ“๊ฐ’ ์›์†Œ์ฐพ๊ธฐ์— ๋Œ€ํ•œ ์˜์‚ฌ์ฝ”๋“œ

์˜์‚ฌ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ์šฐ๋ฆฌ๊ฐ€ ์“ฐ๋Š” ์ž์—ฐ์–ด ๋ฌธ์žฅ๋ณด๋‹ค ๋” ๊ตฌ์กฐ์ ์ด์ง€๋งŒ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ณด๋‹ค๋Š” ๋œ ์ƒ์„ธํ•œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

์˜์‚ฌ์ฝ”๋“œ ๋ฌธ๋ฒ•์„ ๋ช‡๊ฐ€์ง€ ์•Œ์•„๋ณด์ž.

์˜์‚ฌ์ฝ”๋“œ ๋ฌธ๋ฒ•

 

 

728x90