์๊ณ ๋ฆฌ์ฆ์ด๋?
์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ์ ํํ ์๊ฐ ๋ด์ ํด๊ฒฐํ๋ ๋จ๊ณ์ ์ ์ฐจ
๋ฐ์ดํฐ ๊ตฌ์กฐ๋?
๋ฐ์ดํฐ๋ฅผ ์กฐ์งํ๊ณ ์ ๊ทผํ๋ ์ฒด๊ณ์ ๋ฐฉ์
์ฐ๋ฆฌ๋ ์ข์ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ฐ์ดํฐ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ๋ ๊ฒ์ ๊ด์ฌ์ด ์๋ค. ์ฌ๊ธฐ์ '์ข๋ค'๋ ๊ธฐ์ค์
- ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ฐ์ดํฐ ๊ตฌ์กฐ ์์ ์ ์์๋๋ ์คํ์๊ฐ
- ๊ธฐ์ต์ฅ์ ์ฌ์ฉ๋ (๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋)
์ ๋ฐ๋ฅธ๋ค.
๋ฐ๋ผ์ ์ด๋ค ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ข๋ค๊ณ ๋ถ๋ฅํ๋ ค๋ฉด, ์ด๋ฅผ ๋ถ์ํ๊ธฐ ์ํ ์ ๋ฐํ ์๋จ์ ํ์๋ก ํ๋ค!
์ฌ๊ธฐ์ ์ฐ๋ฆฌ๋ ์คํ์๊ฐ์ ๋ฐ์ง๊ฒ ๋๋ค. ๋๋ถ๋ถ์ ์๊ณ ๋ฆฌ์ฆ์ ์ ๋ ฅ -> ์ถ๋ ฅ์ผ๋ก ๋ณํํ๊ณ ,
์ผ๋ฐ์ ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ์ ์คํ์๊ฐ(Running Time)์ ๋์ฒด๋ก ์ ๋ ฅ์ ํฌ๊ธฐ(Input Size) ์ ํจ๊ป ์ปค์ง๋ค.
ํ๊ท ์คํ์๊ฐ(average case running time)์ ๊ฒฐ์ ํ๊ธฐ ์ด๋ ต๊ธฐ์, ์ต์ ์คํ์๊ฐ(Worst case running time)์ ์ง์คํ๋ค.
ํ์ง๋ง ์ฌ์ฉํ๋ ํ๋์จ์ด์ ์ํํธ์จ์ด์ ๋ฐ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์๋๊ฐ ์ฐจ์ด๊ฐ ๋๊ฒ๋๋ฏ๋ก ์ด์ ๋ฌด๊ดํ๊ฒ ํ๊ฐํ ์ ์์ด์ผ ํ๋๋ฐ, ์ด๋ ์ด๋ก ์ ๋ฐฉ๋ฒ์ผ๋ก ์คํ์๊ฐ์ ๊ตฌํ๊ฒ ๋๋ค. ์ด๋ก ์ ๋ฐฉ๋ฒ์ผ๋ก ์คํ์๊ฐ์ ๊ตฌํ ๋๋ ์์ฌ์ฝ๋๋ก ํํ๋ ์๊ณ ๋ฆฌ์ฆ, ์์ฌ์ฝ๋ (Pseudo - code, ์๊ณ ๋ฆฌ์ฆ์ ์ค๋ช ํ๊ธฐ ์ํ ๊ณ ๊ธ ์ธ์ด)๋ฅผ ์ฌ์ฉํ๋ค.

์์ฌ์ฝ๋๋ฅผ ๋ณด๋ฉด ์ฐ๋ฆฌ๊ฐ ์ฐ๋ ์์ฐ์ด ๋ฌธ์ฅ๋ณด๋ค ๋ ๊ตฌ์กฐ์ ์ด์ง๋ง, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ณด๋ค๋ ๋ ์์ธํ ๊ฒ์ ์ ์ ์๋ค.
์์ฌ์ฝ๋ ๋ฌธ๋ฒ์ ๋ช๊ฐ์ง ์์๋ณด์.
