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

C++ for PS

์•Œ๊ณ ๋ฆฌ์ฆ˜์ด, ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ญ๋ƒ๊ณ  ๋ฌผ์–ด๋ณด๋ฉด ๋ญ๋ผ๊ณ  ๋Œ€๋‹ตํ• ๋ž˜?

 

์•Œ๊ณ ๋ฆฌ์ฆ˜?

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ ˆ์ฐจ

์กฐ๊ธˆ ๋” ํ’€์–ด๋ณด๋ฉด, ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ผ๋‹จ ๋ฌธ์ œ๊ฐ€ ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•ด๊ฒฐ์„ ํ•ด์•ผํ•œ๋‹ค๋Š” ๋ชฉ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๋•Œ, ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์ ˆ์ฐจ๋ฅผ ์ด์•ผ๊ธฐํ•œ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์กฐ๊ฑด

  1. ํ•ญ์ƒ ์˜ฌ๋ฐ”๋ฅธ ๋‹ต์„ ๋‚ผ ๊ฒƒ. = ๋‹ต์„ ๋‚ด์•ผ ํ•œ๋‹ค
  2. ์œ ํ•œํ•œ ์‹œ๊ฐ„ ์•ˆ์— ์ข…๋ฃŒ๋  ๊ฒƒ. = ๋๋‚˜์•ผ ํ•œ๋‹ค

์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์š”์†Œ

  • ์ž์›์„ ํšจ์œ ์ ์œผ๋กœ ์“ฐ๋Š” // ↔ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ
  • ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด (๊ฐ„๊ฒฐํ•œ) // ↔ ์ŠคํŒŒ๊ฒŒํ‹ฐ ์ฝ”๋“œ
  • ์†๋„๊ฐ€ ๋น ๋ฅธ // ↔ ์‹œ๊ฐ„ ์ดˆ๊ณผ

 

๋ชจ๋“  ์š”์†Œ๋ฅผ ์ถฉ์กฑํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต๋‹ค.

์ด ์ค‘์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์š”์†Œ๋Š” ๋ฐ”๋กœ ์†๋„์ด๋‹ค.

Big-O ํ‘œ๊ธฐ๋ฒ•

์˜์–ด๋Š” ์–ด๋ ต๋‹ค. ์ˆ˜์‹์€ ์–ด๋ ต๋‹ค. ์˜์–ด ์ˆ˜์‹์€ ์–ด๋ ต๋‹ค ใ…Žใ…Žใ…Žใ…Ž

๋งค๋ฒˆ ๋ณด์ง€๋งŒ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ์‰ฝ๊ฒŒ ์ดํ•ดํ•ด๋ณด๊ฒ ๋‹ค.

image

์‰ฌ์šด ๋ง๋กœ ํ’€์–ด ํ•ด์„ํ•ด๋ณด๋ฉด,

f(n) = Ο(g(n)) ์ด๋ผ๋Š” ๊ฒƒ์€, ์ ๋‹นํžˆ ํฐ x์— ๋Œ€ํ•ด์„œ ๋Œ€์ถฉ f(x)๋ณด๋‹ค g(x)์ด ํฌ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.
  • ์ ๋‹นํžˆ ํฐ ์ˆ˜์— ๋Œ€ํ•ด์„œ๋Š” f(n)์˜ ์ฆ๊ฐ€๋Ÿ‰์ด g(n)์˜ ์ฆ๊ฐ€๋Ÿ‰์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค.
  • ๋Œ€๋žต์ ์ธ f(n)์˜ ์ƒํ•œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
  • ์„œ๋กœ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ์‰ฝ๊ฒŒ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค.