์๊ณ ๋ฆฌ์ฆ
์๊ณ ๋ฆฌ์ฆ
์๊ณ ๋ฆฌ์ฆ : ์ ํํ ๋จ๊ณ๋ฅผ ํตํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ ์ฐจ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ฃผ๋ก ์ปดํจํฐ ์ฉ์ด๋ก ์ฐ์ด๋ฉฐ, ์ปดํจํฐ๊ฐ ์ด๋ค ์ผ์ ์ํํ๊ธฐ ์ํ ๋จ๊ณ์ ๋ฐฉ๋ฒ์ ๋งํ๋ค.
์ฆ, ์ด๋ ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ ์ฐจ๋ผ๊ณ ๋ณผ ์ ์๋ค.
์ปดํจํฐ ๋ถ์ผ์์ ์๊ณ ๋ฆฌ์ฆ์ ํํํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ ๋ ๊ฐ์ง
- ์์ฌ์ฝ๋(์๋์ฝ๋, Pseudocode)์ ์์๋
์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ ์ธก์
์ข์ ์๊ณ ๋ฆฌ์ฆ
- ์ ํ์ฑ : ์ผ๋ง๋ ์ ํํ๊ฒ ๋์ํ๋๊ฐ
- ์์ ๋ : ์ผ๋ง๋ ์ ์ ์ฐ์ฐ์ผ๋ก ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ด๋ด๋๊ฐ
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ : ์ผ๋ง๋ ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋๊ฐ
- ๋จ์์ฑ : ์ผ๋ง๋ ๋จ์ํ๊ฐ
- ์ต์ ์ฑ : ๋ ์ด์ ๊ฐ์ ํ ์ฌ์ง์์ด ์ต์ ํ๋์๋๊ฐ
์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฌ๋ฌ ๊ฐ์ ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ์ด ๊ฐ๋ฅ
โ ์ด๋ค ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด์ผ ํ๋๊ฐ?
์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ ๋ถ์ ํ์
- ๋ง์ ๋ฌธ์ ์์ ์ฑ๋ฅ ๋ถ์์ ๊ธฐ์ค์ผ๋ก ์๊ณ ๋ฆฌ์ฆ์ ์์ ๋์ ๋น๊ตํ๋ค.
์๊ฐ ๋ณต์ก๋(Time Complexity)
์ธก์ ๋ฐฉ๋ฒ
- ์ค์ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์ธก์
- ์คํ๋๋ ๋ช ๋ น๋ฌธ์ ๊ฐ์๋ฅผ ๊ณ์ฐ
์๊ฐ ๋ณต์ก๋ โ ๋น -์ค(O) ํ๊ธฐ๋ฒ
๋น -์ค ํ๊ธฐ๋ฒ (Big-Oh Notation)
์๊ฐ ๋ณต์ก๋ ํจ์ ์ค์์ ๊ฐ์ฅ ํฐ ์ํฅ๋ ฅ์ ์ฃผ๋ n์ ๋ํ ํญ๋ง์ ํ์
๊ณ์(Coefficient)๋ ์๋ตํ์ฌ ํ์
ex)
O(3n + 2) = O(3n) = O(n)
O(2nยฒ + 10n + 100) = O(nยฒ)
O(4) = O(1)
: ์ต๊ณ ์ฐจํญ๋ง ์ ํ, ๊ณ์ ์ ๊ฑฐ
n๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ ๋ฐ์ ์ ์ฅํ ํ ๊ฐ ๋ฐ์ดํฐ์ 1์ฉ ์ฆ๊ฐ์ํจ ํ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ํ๋ฉด์ ์ถ๋ ฅํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋? โ O(n)
'๐ถ Programming > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
5. Search ๊ฒ์ (0) | 2022.10.19 |
---|---|
4. Array Extra ๋ฐฐ์ด (0) | 2022.10.15 |
3. Sort ์ ๋ ฌ (0) | 2022.10.02 |
2. Array ๋ฐฐ์ด (2) | 2022.10.01 |