let's get IT with DAVINA ๐ป
์๊ณ ๋ฆฌ์ฆ/๊ณต๊ฐ ๋ณต์ก๋ ๋ณธ๋ฌธ
๊ณต๊ฐ ๋ณต์ก๋ (Space Complexity)
- ์๊ณ ๋ฆฌ์ฆ์ด ์ํ๋๋ ๋ฐ์ ํ์ํ ๋ฉ๋ชจ๋ฆฌ์ ์ด๋
ํ๋ก๊ทธ๋จ์ด ์๊ตฌํ๋ ๊ณต๊ฐ ⇒ ๊ณ ์ ์ ์ธ ๊ณต๊ฐ + ๊ฐ๋ณ์ ์ธ ๊ณต๊ฐ
๊ณ ์ ์ ์ธ ๊ณต๊ฐ: ์ฒ๋ฆฌํ ๋ฐ์ดํฐ์ ์์ ๋ฌด๊ดํ๊ฒ ํญ์ ์๊ตฌ๋๋ ๊ณต๊ฐ์ผ๋ก์, ํ๋ก๊ทธ๋จ์ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ์ฃผ์ง ์์
๊ฐ๋ณ์ ์ธ ๊ณต๊ฐ: ์ฒ๋ฆฌํ ํ ์ดํฐ์ ์์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์๊ตฌ๋๋ ๊ณต๊ฐ์ผ๋ก์ ํ๋ก๊ทธ๋จ์ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ์ค!
- ๊ณต๊ฐ ๋ณต์ก๋ ๊ณ์ฐ์ ์๊ฐ ๋ณต์ก๋ ๊ณ์ฐ๊ณผ ๋น์ทํ๊ฒ ๋น ์ค(Big-O) ํ๊ธฐ๋ฒ์ผ๋ก ํํ
- ๋ณดํต ๊ณต๊ฐ ๋ณต์ก๋๋ ์๊ฐ ๋ณต์ก๋๋ณด๋ค ์ค์์ฑ์ด ๋จ์ด์ง๋ค.
- WHY? ์๊ฐ์ด ์ ์ผ๋ฉด์ ๋ฉ๋ชจ๋ฆฌ๊น์ง ์ง์์ ์ผ๋ก ์ฆ๊ฐํ๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์๊ธฐ ๋๋ฌธ์..
- BUT! ๋์ ๊ณํ๋ฒ(Dynamic Programming)๊ณผ ๊ฐ์ด ์๊ณ ๋ฆฌ์ฆ์ด๋ ํ๋์จ์ด ํ๊ฒฝ์ด ๋งค์ฐ ํ์ ๋์ด ์๋ ๊ฒฝ์ฐ, ๊ณต๊ฐ ๋ณต์ก๋๊ฐ ์ค์!!
- ex)
function factorial(n) {
if(n === 1) {
return n;
}
return n*factorial(n-1);
}
๋ณ์ n์ ๋ฐ๋ผ ๋ณ์ n์ด n๊ฐ๊ฐ ๋ง๋ค์ด์ง๊ฒ ๋๋ฉฐ, ํด๋น ํจ์๋ฅผ ์ฌ๊ทํจ์๋ก 1๊น์ง ํธ์ถํ ๊ฒฝ์ฐ n๋ถํฐ 1๊น์ง ์คํ์ ์์ด๊ฒ ๋ฉ๋๋ค.
๋ฐ๋ผ์ ํด๋น ํจ์์ ๊ณต๊ฐ ๋ณต์ก๋๋ O(n)์ ๋๋ค.
'DEV_IN > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฃ๊ตฌ์กฐ/์ ํ๊ตฌ์กฐ] ๋ฐฐ์ด (0) | 2023.03.08 |
---|---|
[์๊ณ ๋ฆฌ์ฆ ์ ํ] Greedy Algorithm (2) | 2023.03.07 |
์๊ณ ๋ฆฌ์ฆ/์๊ฐ ๋ณต์ก๋ (0) | 2023.02.24 |
์๊ณ ๋ฆฌ์ฆ์ด๋? (2) | 2023.02.24 |
์๋ฃ๊ตฌ์กฐ/๋น์ ํ๊ตฌ์กฐ/๊ทธ๋ํ (2) | 2023.02.23 |
Comments