๐ ์๊ณ ๋ฆฌ๋ฌ ์ฑ๋ฅ ํ๊ฐ
@ 3~5์ฐจ์
๐ซ ์๊ณ ๋ฆฌ๋ฌ์ ์ฑ๋ฅ ํ๊ฐ, F Evaluation
์ด๋ค ์๊ณ ๋ฆฌ๋ฌ์ด ๋ ์ข๋์ ๋ํ ํ๊ฐ ๊ธฐ์ค์ ์คํ ์๊ฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ.
(๋์ผํ ๋ชฉ์ ์ ๊ฐ์ง๊ณ , ๊ฒฐ๊ณผ๊ฐ ์ ํํ๋ค๋ ๊ฐ์ ํ์)
ํ๋์ ์์๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋๋ํด์ ธ์, ์คํ ์๊ฐ์ ์ข ๋ ์ฐ์ ์ ์ผ๋ก ๋ด.
(๋ฌผ๋ก ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ ์ ์ธ ์๋ฒ ๋๋๋ ๊ณต๊ฐ๋ ์ค์)
- ๊ฐ์ ๋ฌธ์ , ๋ค๋ฅธ ์ฑ๋ฅ
- ๋คํญ์ ๊ณ์ฐ : ๊ฐ ํญ ๊ณ์ฐ < ํธ๋์ ๊ท์น
- 1~n ์ ์ ํฉ : for ๊ณ์ฐ < ๋ฑ์ฐจ์์ด์ ํฉ ๊ณต์
- ์ ์์ญ ๋ฐ ์์ ํ์ : ์์ฐจํ์ < ์ ๋ ฌ๋ ๋ฐฐ์ด์์ ์์ฐจํ์ (Invalid ๊ฐ์์ Early Return) < ์ด์งํ์
- ์คํ ์๊ฐ ์ธก์ ์ ๋ฌธ์ ์
- ์ปดํจํฐ ์คํ์ ๋ฐ๋ผ
- ์ธ์ด, ์ปดํ์ผ๋ฌ, ํ๋ก๊ทธ๋๋ฐ ์คํ์ผ ๋ฐ ์ฝ๋ฉ ํ์ค์ ๋ฐ๋ผ
- ์คํํ ๋๋ง๋ค ์คํ ์๊ฐ์ด ๋ฌ๋ผ์ง ์ ์์
- ๊ฐ๋ฅํ ๋ชจ๋ ์
๋ ฅ์ ๋ํด, ์ ํํ ๊ฒฐ๊ณผ(!๊ทผ์ฌ)๋ฅผ ์ถ๋ ฅํ๋๋ก
์์ฑ
ํด์ผ
์คํ ์๊ฐ ์ธก์ ์ ์๊ณ ๋ฆฌ๋ฌ ์์ฒด์ ์ฑ๋ฅ ์ด์ธ์, ์ธ๋ถ ์ํฅ์ ๋ง์ด ๋ฐ๋๋ค.
โ ๋ณต์ก๋ ๋ถ์
์ด๋ฆผ์ก์ 3~5์ต ๋ฒ์ ์ฐ์ฐ/1์ด
์ด๋ค ์ฐ์ฐ์ ํ๋์ง์ ๋ฐ๋ผ
๋จ์ํ ์ฐ์ฐ : ๋นํธ AND, OR, ๋น๊ต, ๋ง์
๋ณต์กํ ์ฐ์ฐ : ๊ณฑ์
, ๋๋์
, ๋์
, ํจ์ ํธ์ถ
2000๋ง?
๋ณดํต ๋ฌธ์ ์์ 1~5์ด ์ ๋๊ฐ ์ฃผ์ด์ง๋ค
-> ์
๋ ฅ ๋ฒ์๋ฅผ ๋ณด๊ณ ๋ฌธ์ ์์ ์๊ตฌํ๋ ์๊ฐ๋ณต์ก๋๋ฅผ ์ ์ถ
๐ซ ๋ณต์ก๋ ๋ถ์
๊ณ์ฐ์ด๋ ์ถ๋ก ๋ฑ์ ํตํ์ฌ ์๊ณ ๋ฆฌ๋ฌ์ ์คํํ๋๋ฐ ํ์ํ ์์ ๊ฒฐ์ ํ๋ ์์
(์๊ฐ ๋ณต์ก๋, ๊ณต๊ฐ ๋ณต์ก๋ = ์คํ ์๊ฐ, ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ)
ํ์ค์ ์ผ๋ก, ์ธก์ ์์ด ๋ถ๊ฐ๋ฅํ๋ฐ, ์ธก์ ์ ์ธ๋ถ ์ํฅ์ ๋ง์ด ๋ฐ์
ํ์ค์ ์ธ ๋์์ผ๋ก, ์คํ์๊ฐ์ ๊ฐ๋ ํ ์ ์๋ ๊ฐ์ ์ ์งํ
์ ๊ณ์ฐํ์ฌ ์๊ฐ ๋ณต์ก๋์ ๊ธฐ์ค์ผ๋ก
์๊ฐ ๋ณต์ก๋
์
๋ ฅ์ ํฌ๊ธฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์๊ด๊ด๊ณ
- ์๊ฐ ๋ณต์ก๋์ ๊ธฐ์ค
- ์ฐ์ฐ ์คํ ํ์
- ์ฐ์ฐ ์คํ ํ์๋ n์ ๋ํ ํจ์ ๊ผด T(n) = ๊ทธ๋ํ
- ์ต๋๊ฐ ์ฐพ๊ธฐ : ํ์ ๋์ ์ซ์์ ์์ ๋ฐ๋ผ
- ํ๋ ฌ ๊ณฑ : ํ๋ ฌ์ ํ๊ณผ ์ด์ ๊ฐ์ ๋ฐ๋ผ
- ์ ๋ ฌ : ์ ๋ ฌ ๋์ ์์์ ์์ ๋ฐ๋ผ
- ์ฐ์ฐ ์คํ ํ์๋ n์ ๋ํ ํจ์ ๊ผด T(n) = ๊ทธ๋ํ
- ๋ช
๋ น๋ฌธ ์คํ ํ์
- ํฐ ์๊ณ ๋ฆฌ๋ฌ์์ ์ฐ์ฐ ์คํ ํ์ ๊ณ์ฐ ์ด๋ ค์
- ๊ธฐ์ค์ฐ์ฐ ์คํ ํ์
- ๊ธฐ์ค์ฐ์ฐ : ์คํ ์๊ฐ์ ๊ณ์ฐ์ ์์ด์ ์ํฅ์ ๊ฐ์ฅ ๋ง์ด ์ฃผ๋ ์ฐ์ฐ
- ๊ธฐ์ค์ฐ์ฐ์ด ๋ช ํํ์ง ์์ผ๋ฉด ์ด๋ ค์
- ์ฐ์ฐ ์คํ ํ์
N์ดํ์ ์ ์ค์์ ๊ฐ์ฅ ํฐ 2์ ๊ฑฐ๋ญ์ ๊ณฑ์๋ฅผ ๋ฐํํ๋ ํจ์ (N์ 10์ต ์ดํ์ ์์ฐ์)
๋ก๊ทธ์ ์ ์์ ์
๊ฐํด์ k = LogN, O(LogN)
@ U ์ค๊ฐ๊ณ ์ฌ ์ถ์ : ๋ฒ๋ธ ์ ๋ ฌ, ๊ธฐ์ค์ฐ์ฐ ๊ธฐ์ค ์คํํ์๋ฅผ ๊ตฌํ์์ค. (n = 101, ๋ฑ์ฐจ๋ฑ๋น)
์ ๊ทผ ๋ถ์, Asymptotic Analysis
= ๋ณต์ก๋ ํจ์๋ฅผ โ๋จ์ํโ ๊ทผ์ฌ ํจ์(๋ฌดํ์ผ๋ก ๊ฐ๋ฉด ๋น์ทํ ๊ผด)๋ก
โ ์ต๊ณ ์ฐจํญ์ ๊ณ์๋ฅผ 1๋ก ํ์ฌ ์ถ์ถ
๊ณ์, ๋๋จธ์ง ํญ ์๋ตํด๋ ๋๋?
โ ๋ฌดํ์ผ๋ก ๊ฐ์๋ก, ์์์ ์ต๊ณ ์ฐจํญ ๋น์จ์ ๊ฒ๋ ์ปค์ง๋ค
โ ๋ฌดํ์ผ๋ก ๊ฐ์๋ก, ๊ณ์ < ์ง์
๋ณต์ก๋ ๋ฑ๊ธ - ์
๋ ฅ ํฌ๊ธฐ(n) ๋น๋ก ๋ณต์ก๋(๊ฒฐ๊ณผ, ์ฒ๋ฆฌ์๊ฐ) ์ฆ๊ฐ
โ ์์, ๋ก๊ทธ, ์ ํ, ์ ํ๋ก๊ทธ, n์ฐจ, ์ง์, ํฉํ ๋ฆฌ์ผ, โฆ
@ ์ ๋ ฌ - ์ ํ๋ก๊ทธ
@ ์ ๊ณฑ - ํ๋ ฌ ํฉ
@ ์ธ์ ๊ณฑ - ํ๋ ฌ ๊ณฑ
@ msps - ์ด๋น ๋ฐฑ๋ง๋ฒ ์ฐ์ฐ
@ ๋จ์ ์ฐ์ฐ(๋นํธ ์ฐ์ฐ ๋ฑ)๊ณผ ์๋์ ๋ณต์ก ์ฐ์ฐ๊ณผ์ ๊ดด๋ฆฌ
@ flops - ์ด๋น ๋ถ๋์์์ ์ฐ์ฐ
๊ณต๊ฐ ๋ณต์ก๋ (Space Complexity)
์
๋ ฅ์ ํฌ๊ธฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ ํ์ํ ๊ณต๊ฐ์ ์๊ด๊ด๊ณ
512MB = 1.2์ต๊ฐ์ int
๊ธฐ์ตํ๋ฉด ์ข๋ค
int 1๊ฐ๊ฐ 4๋ฐ์ดํธ๋ผ๋ ๊ฑธ๋ก ๊ธฐ์ต
์๋ฅผ ๋ค์ด ํฌ๊ธฐ๊ฐ 5์ต์ธ ๋ฐฐ์ด์ด ํ์ํ๋ค -> ํ๋ฆฐ ํ์ด๋๊น ๋ค๋ฅธ ํ์ด๋ฅผ ๊ณ ๋ฏผ
๐ซ ์ ๊ทผ ํ๊ธฐ๋ฒ
@ U ์ค๊ฐ๊ณ ์ฌ ์ถ์ : (๋ ๊ฐ์ง ๊ฒฝ์ฐ์ ๋ํด์๋ง n^2, ๋ค๋ฅธ ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํด์๋ n * log n ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ ์๊ณ ๋ฆฌ๋ฌ์ ๋ํด) Big O, Big ฮ, ์ต์
์ ๊ฒฝ์ฐ ์๋ฏธ
-> โ์ต์
์ ๊ฒฝ์ฐโ๊ฐ ๋ถ์ผ๋ฉด ์ธํ๊ฐ ๋ ์ ์ ํ๋ค O๋ ํ๋ฆฐ ๊ฑด ์๋์ง๋ง..
-> ์ต์
์ ๊ฒฝ์ฐ ์ธํ์ ๊ทธ๋ฅO๋ ๊ฐ์ ๋ป์ธ๊ฐ? X
Big O, Big ฮ, Big ฮฉ
@ ์๋ฌธ์์ ๊ตฌ๋ณ๋๊ธฐ์, Big ๋ถ์ฌ์ผ
๐ซง Big O, ์ ๊ทผ์ ์ํ
์๋ฌด๋ฆฌ ๋ง์๋ ์ด์ ๋ ๊ฑธ๋ฆฐ๋ค
I.E.
โ T(n) = 2x + 4 ์ผ๋, O(3x)
โ 5n^2 + 3n - 10 = O(n^3)
โ 5n^2 + 3n - 10 = O(n^2)
โ 5n^2 + 3n - 10 != O(n)
When
โ ์
๋ ฅ ๋ฐ์ดํฐ์ ๋ฐ๋ผ ์ฆ๊ฐ์จ์ด ๋ฌ๋ผ์ง๋ ๊ฒฝ์ฐ
โ ์ ํํ ๋ณต์ก๋๋ ๋ชจ๋ฅด๊ณ , ์ํ์ ์๋ ๊ฒฝ์ฐ
โ ๊ด๋ก์ (๊ทธ๋ฅ ๋ง์ด ์จ์)
์ํ์ ๋ถํ์ค์ฑ (๋นก๋นกํ ์ํ, ๋์จํ ์ํ)
โ ์ ์๋ฅผ ๋ง์กฑํ๋ ๊ฐ์ฅ ๋ฎ์ ์ฐจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์์น
@ =์ equal, is๊ฐ ์๋๋ผ ํฌํจ๋์ด ์๋ค ๋ผ๋ ์๋ฏธ
๐ซง Big ฮฉ, ์ ๊ทผ์ ํํ
์ต์ํ ์ด์ ๋ ๊ฑธ๋ฆฐ๋ค
I.E.
โ T(n) = 2x + 4 ์ผ๋, ฮฉ(n)
When
โ ์
๋ ฅ ๋ฐ์ดํฐ์ ๋ฐ๋ผ ์ฆ๊ฐ์จ์ด ๋ฌ๋ผ์ง๋ ๊ฒฝ์ฐ
โ ์ ํํ ๋ณต์ก๋๋ ๋ชจ๋ฅด๊ณ , ํํ์ ์๋ ๊ฒฝ์ฐ
โ ๋ค๋ฅธ ์ ๊ทผ ํ๊ธฐ๋ฒ ๋ณด์ (๋ณดํต ํผ์ ์ฐ์ง ์์)
f(n) = O(g(n)) <=> g(n) = ฮฉ(f(n))
๐ซง Big ฮ, ์ ๊ทผ์ ์ํ๊ณผ ํํ์ด ์ผ์น
๋๋ต ์ด์ ๋๋ค
I.E.
โ T(n) = 2x + 4 ์ผ๋, ฮ(n)
When
โ ์ ํํ ๋ณต์ก๋ ํจ์๋ฅผ ์๋ ๊ฒฝ์ฐ
๐ซง BlaBla
๋ณต์ก๋ - O, ฮฉ
(~ํ ๊ฒฝ์ฐ) ๋ณต์ก๋ - ฮ
๋์ผํ ๊ธฐ๋ฅ์ ์๊ณ ๋ฆฌ์ฆ ๋น๊ต
A = O(n^2), B = O(n^3)
A๊ฐ B๋ณด๋ค ๋น ๋ฅด๋ค X
A๊ฐ B๋ณด๋ค ์ ๊ทผ์ ์ผ๋ก ๋น ๋ฅด๋ค O
n์ ๊ฐ์ด ๊ณ ๋ ค๋์ด์ผ ํ๋ค
I.E. A = 10^5 * n^2, B = n^3, n < 10^5 ๋ผ๋ฉด A < B
n์ด ์์ผ๋ฉด ์๊ฐ ์ฐจ์ด ๋ณ๋ก ์๊ฑฐ๋, ์คํ๋ ค ์ ๊ทผ ๋ณต์ก๋๊ฐ ๋ฎ์ ์๊ณ ๋ฆฌ์ฆ์ด ๋ ๋๋ฆด ์ ์๋ค
์ ๊ทผ ๋ณต์ก๋๋ ์ํ๊ณผ ๊ณตํ์ ์ ๋ฌํ ๊ท ํ์ ์๊ตฌ
@ TODO : ๊ณตํ ?
์ ๊ทผ ๋ณต์ก๋ ์ฝ๊ฒ ๊ตฌํ๊ธฐ
- n์ ๋ฐ๋ผ, ์์ฐจ์ ์ธ ๋ช ๋ น๋ฌธ(๋ธ๋ก)์ ์ ๊ทผ ๋ณต์ก๋ ํจ์๋ฅผ ๋ํ๋ค
- n์ ๋ฐ๋ผ, ์ค์ฒฉ๋ ๋ช ๋ น๋ฌธ(๋ธ๋ก)์ ์ ๊ทผ ๋ณต์ก๋ ํจ์๋ฅผ ๊ณฑํ๋ค
- ๋ถํ๋ก๊ทธ๋จ(ํจ์)๋ ์ ๊ทผ ๋ณต์ก๋๋ฅผ ๋ฐ์
์ต์ , ์ต์ , ํ๊ท ๋ณต์ก๋
n ๊ฐ๋๋ผ๋ ์งํฉ-์์์ ๋ฐ๋ผ ์คํ ์๊ฐ ๋ฌ๋ผ์ง๋ ์๊ณ ๋ฆฌ์ฆ
Big O ์ ๊ทผ์ ์ํ ๋ง์ ๋ํ๋ด๊ธฐ๋
์ต์ <= ํ๊ท <= ์ต์
๋ณต์ก๋
์ต์
๊ณผ ์ต์ ๋ณต์ก๋๊ฐ ๊ฐ๋ค๋ฉด, ํ๊ท ์ ์ธ ๊ฒฝ์ฐ๋ ๊ฐ๊ณ , ์ด๋ ฮ ํ๊ธฐ๋ฒ์ผ๋ก
ํ๊ท ๋ณต์ก๋
์ต์
์ ๊ฐ๊น์ด, ๋ฒ๋ธ ์ ๋ ฌ, ์ฝ์
์ ๋ ฌ
์ต์ ์ ๊ฐ๊น์ด, ํต ์ ๋ ฌ
์๋ฏธ ์ฐจ์ด
์ต์
์ ๊ฒฝ์ฐ ฮ(n^2)
โ ์ต์
์ ๊ฒฝ์ฐ n^2๊ฐ ๊ฑธ๋ฆฐ๋ค
์ต์
์ ๊ฒฝ์ฐ O(n^2)
โ ์ต์
์ ๊ฒฝ์ฐ, ์ ํํ๊ฒ๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ๊ทธ ์ํ์ด n^2์ด๋ค
์ต์
์ ๊ฒฝ์ฐ, ์ต์ ์ ๊ฒฝ์ฐ, ํ๊ท ์ ์ธ ๊ฒฝ์ฐ ฮ(~)
== O(~), ฮฉ(~)
๐ซ Big O Notation
์ฝํ ์์๋ ๋น ์ค ํ๊ธฐ๋ฒ๋ง ๋ณด๋ฉด ๋๋ค.
์๊ณ ๋ฆฌ์ฆ์ด ์ผ๋ง๋ ๋น ๋ฅธ์ง ํ์ํ๋ ํน๋ณํ ๋ฐฉ๋ฒ
์ฃผ์ด์ง ์์ ๊ฐ์ด ๊ฐ์ฅ ํฐ ๋ํํญ๋ง ๋จ๊ฒจ์ ๋ํ๋ด๋ ๋ฐฉ๋ฒ.
i.e. n๊ฐ์ ์์, ๋จ์ ํ์์ n๋ฒ ์ฐ์ฐ, O(n)
์ด ๊ฐ์ ์๊ฐ ๋จ์๋ ์ด๋๋ก? ๋น
์ค ํ๊ธฐ๋ฒ์ ์๋๋ฅผ ์๊ฐ ๋จ์๋ก ์ธ์ง ์์
์ฐ์ฐ ํ์๋ฅผ ๋น๊ตํ๊ธฐ ์ํ ๊ฒ
๐ซง ์ฃผ์ : ์๊ณ ๋ฆฌ๋ฌ๊ฐ ์๋ ๋น๊ต ์
100๊ฐ์ ์์, ๋จ์ 100๋ฒ, ์ด์ง 7๋ฒ
์ด์ง ํ์์ ๋จ์ ํ์๋ณด๋ค 15๋ฐฐ ๋น ๋ฅธ ์๊ณ ๋ฆฌ๋ฌ์ด๋ค? XXX
10์ต๊ฐ์ ์์, ๋จ์ 10์ต๋ฒ, ์ด์น 32๋ฒ
์ด ๊ฒฝ์ฐ์๋ ์ด์ง ํ์์ด ๋จ์ ํ์๋ณด๋ค 3์ฒ3๋ฐฑ๋ง๋ฐฐ ๋น ๋ฅด๋ค
๋ฆฌ์คํธ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ์คํ ์๊ฐ์ด ์ฆ๊ฐํ๋ ๋น์จ์ด ๋ค๋ฅด๋ค
-> ์๊ณ ๋ฆฌ๋ฌ์ ์คํ์๊ฐ์ด ์ผ๋ง๋ ๊ฑธ๋ฆฌ๋์ง๋ง ๊ณ ๋ คํ ๊ฒ์ด ์๋๋ผ
-> ๋ฆฌ์คํธ์ ํฌ๊ธฐ๊ฐ ์ฆ๊ฐํ ๋ ์ด๋ป๊ฒ ์ฆ๊ฐํ๋์ง๋ฅผ ํ์
ํ ํ์๊ฐ ์๋ค
๐ซง ์ฃผ์ : Big O๋ ์ต์ ์ ๊ฒฝ์ฐ์ ๋ํ ๊ฒ
i.e. ๋จ์ ํ์, ์ฌ์ ์์ a๋ฅผ ํ ๋ฒ์ ์ฐพ์์ผ๋ฏ๋ก O(1)? XXX
๋น
์ค๋ ์ต์
์ ๊ฒฝ์ฐ์ ๋ํ ๊ฒ
์ ๋๋ก ~๋ณด๋ค๋ ๋๋ ค์ง์ง ์๋๋ค๋ ์ฌ์ค์ ๋ํ ๋ณด์ฅ
๐ซง ๋น ์ค ์คํ์๊ฐ์ ์
- O(1) : ์์ ์๊ฐ
- 5, 16, 36
- O(LogN) ๋ก๊ทธ ์๊ฐ Logarithmic Time
- ์ด์งํ์
- O(N) ์ ํ ์๊ฐ Linear Time (๋ฐ์ดํฐ ํฌ๊ธฐ์ ์คํ ํ์๊ฐ ๋๊ฐ์)
- 5N + 3, 2N + 10LogN, 10N
- ๋จ์ํ์
- O(NLogN) ๋คํญ ์๊ฐ
- NLogN + 30N + 10, 5NLogN + 6
- ํต ์ ๋ ฌ ๊ฐ์ด ๋น ๋ฅธ ์ ๋ ฌ ์๊ณ ๋ฆฌ๋ฌ
- O(N2) ๋คํญ ์๊ฐ
- N2 + 2N + 4, 6N2 + 20N + 10LogN
- ์ ํ ์ ๋ ฌ๊ณผ ๊ฐ์ด ๋๋ฆฐ ์ ๋ ฌ ์๊ณ ๋ฆฌ๋ฌ
- O(2N) ์ง์ ์๊ฐ
- O(N!)
- 12!์ ์ฝ 5์ต
- ์ธํ์(์ธ์ผ์ฆ๋งจ) ๋ฌธ์ ์ ๊ฐ์ด ์ ๋ง ๋๋ฆฐ ์๊ณ ๋ฆฌ๋ฌ
- Traveling Salesperson Problem
- ๋ชจ๋ ๋์๋ ๊ฐ์ฅ ์งง์ ๊ฑฐ๋ฆฌ์(์๊ฐ์) ๊ฒฝ๋ก
- ์์ง ์ด๊ฒ๋ณด๋ค ๋น ๋ฅธ ์๊ณ ๋ฆฌ๋ฌ์ด ์๋ ค์ง์ง ์์
- ๋๋ต์ ์ธ ๋ต์ ์ป๋ ๊ฒ ๋ฐ์ (์ด์ง ํ์ ํธ๋ฆฌ)
N์ ํฌ๊ธฐ | ํ์ฉ ์๊ฐ ๋ณต์ก๋ |
N <= 11 | O(N!) |
N <= 25 | O(2n) |
N <= 100 | O(N4) |
N <= 500 | O(N3) |
N <= 3,000 | O(N2LogN) |
N <= 5,000 | O(N2) |
N <= 1,000,000 | O(NLogN) |
N <= 10,000,000 | O(N) |
๊ทธ ์ด์ | O(LogN), O(1) |
์ ๋์ ์ธ ๊ธฐ์ค์ ์๋๋ค (๋๋๋ง)
๋ก๊ทธ
log10100์ด๋ผ๋ ์๋ โ10์๋ช ๋ฒ ๊ณฑํด์ผ 100์ด ๋ ๊น?โ ํ๊ณ ๋ฌป๊ณ ์๋ ๊ฒ
10 * 10 = 100 ์ด๋๊น ๋ต์ 2
๊ทธ๋ฌ๋๊น log10100 = 2
์ฆ, ๋ก๊ทธ๋ ๊ฑฐ๋ญ์ ๊ณฑ์ ๋ฐ๋๋ง
๋น ์ค ํ๊ธฐ๋ฒ์์ ๋ชจ๋ log ํจ์๋ log2๋ฅผ ๋ปํ๋ค
๐ซง ์์ฝ
- ์๊ณ ๋ฆฌ๋ฌ์ ์๋๋ ์๊ฐ์ด ์๋๋ผ ์ฐ์ฐ ํ์๊ฐ ์ด๋ป๊ฒ ์ฆ๊ฐํ๋์ง๋ก ์ธก์
- ์ ๋ ฅ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ๋์ด๋ ๋ ์๊ณ ๋ฆฌ๋ฌ์ ์คํ์๋๊ฐ ์ผ๋ง๋ ์ฆ๊ฐํ๋์ง ์ ์ ์๋ค
- ์๊ณ ๋ฆฌ๋ฌ์ ์คํ์๊ฐ์ ๋น ์ค ํ๊ธฐ๋ฒ
- O(log n)์ O(n)๋ณด๋ค ๋น ๋ฅด๊ณ , ์ฐพ์ผ๋ ค๋ ๋ฆฌ์คํธ์ ์์์ ๊ฐ์๊ฐ ์ฆ๊ฐํ๋ฉด ์๋์ ์ผ๋ก ๋ ๋นจ๋ผ์ง๋ค.