์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค!
์์ฆ ๋ค์ด ์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ๋ฅผ ํ๋๋ฐ ์๊ณ ๋ฆฌ์ฆ์ ํต์ฌ์ธ ์๊ฐ๋ณต์ก๋์ ๋ํด์ ์ ๋ฆฌํ์ง ์์ ๊ฒ ๊ฐ์์..
์ด๋ฒ ๊ธฐํ์ ๊ตฌ์ฒด์ ์ผ๋ก ์๊ฐ๋ณต์ก๋์ ๋ํด์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค!
๋ฐ๋ก ์์ํ ๊ฒ์~
์๊ฐ๋ณต์ก๋๋? โฑ
์ปดํจํฐ๊ณตํ ์ฉ์ด๋ก, ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ ์ ๋ ฅ๊ฐ๊ณผ ์ฐ์ฐ ์ํ ์๊ฐ์ ์๊ด๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ์ฒ๋์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก ์๊ฐ ๋ณต์ก๋๋ ์ ๊ทผ ํ๊ธฐ๋ฒ์ ์ด์ฉํ์ฌ ๋ํ๋ธ๋ค.
์ฆ, ๊ณ์ฐ๋๋ ์์ ๋ฐ๋ผ์ ์๊ฐ์ด ์ผ๋ง๋ ๊ฑธ๋ฆด์ง๋ฅผ ๋ํ๋ด๋ ๊ฒ์ ๋๋ค.
์๊ฐ๋ณต์ก๋ ํ๊ธฐ๋ฒ ๐
์๊ฐ๋ณต์ก๋ ํ๊ธฐ๋ฒ์ ๋น ์ค๋ฉ๊ฐ,๋น ์ธํ,๋น ์ค ์ด๋ ๊ฒ 3๊ฐ์ง๊ฐ ์์ต๋๋ค.
1. BigΩ (Best case)
๋น ์ค๋ฉ๊ฐ ํ๊ธฐ๋ฒ์ ์ต์ ์ ์คํ์๊ฐ ์ฆ, ๊ฐ์ฅ ๋น ๋ฅธ ์ผ์ด์ค๋ฅผ ๋ํ๋ด๋ ๊ฒ์ ๋๋ค.
2. Big๐ฏ (Average case)
๋น ์ธํ ํ๊ธฐ๋ฒ์ ์ต์ ๊ณผ ์ต์ ์ ํ๊ท ์คํ์๊ฐ ์ฆ, ํ๊ท ์ ์ธ ์ผ์ด์ค๋ฅผ ๋ํ๋ด๋ ๊ฒ์ ๋๋ค.
3. BigO (Worst case)
๋น ์ค ํ๊ธฐ๋ฒ์ ์ต์ ์ ์คํ์๊ฐ ์ฆ, ๊ฐ์ฅ ๋๋ฆฐ ์ผ์ด์ค๋ฅผ ๋ํ๋ด๋ ๊ฒ์ ๋๋ค.
ํ๋ก๊ทธ๋จ ์์์ ๋ฌธ์ ๋ผ๊ณ ํ๋ฉด ๋๋ฆฌ๊ฒ ์คํ๋ ๋์์์?
๊ณ ๋ก ๋ณดํต์ ๊ฒฝ์ฐ ์๊ฐ๋ณต์ก๋๋ฅผ ํ๊ธฐํ ๋ ๋น ์ค ํ๊ธฐ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
์๊ฐ๋ณต์ก๋ ์ํ์๊ฐ โฐ
๋น ์ค ํ๊ธฐ๋ฒ์ผ๋ก ์๊ฐ๋ณต์ก๋ ์ํ์๊ฐ์ด ๋ฎ์ ๊ฒ๋ถํฐ ๋์ ๊ฒ๊น์ง ์ค๋ช ํ๊ฒ ์ต๋๋ค.
1. O(1)
n์ด ๋ช๊ฐ ์๋ ์ง ๊ฐ์ ์คํ์๊ฐ์ด ์ผ์ ํ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
ex) 1๋ถํฐ 100๋ง๊น์ง๋ฅผ key๋ก ๊ฐ์ง๊ณ ์๋ ํด์ฌ ํ ์ด๋ธ ์ค 7์ key๋ก ๊ฐ์ง๊ณ ์๋ value ๊ฐ์ ์ฐพ์ ๋
2. O(logn)
logn์ logโn๊ณผ ๋์ผํฉ๋๋ค.
(์ ๋ logn์ n์ ์ ๋ฐ์ผ๋ก ๋๋ ์ ์๋ ์๋ผ๊ณ ์ดํดํ๋ฉด ์ฝ๋๋ผ๊ตฌ์.
log8์ ์ ๋ฐ์ผ๋ก ๋๋ ์ ์๋ ์๋ 4 - 2 - 1์ด๋ฏ๋ก 3์ ๋๋ค.)
ex) ์ด์ง ํ์์ ํตํด์ ๊ฐ์ ์ฐพ์ ๋
3. O(n)
๋ณดํต n๊ฐ์ ๋ชจ๋ ์๋ฅผ ํ์ํด์ ์ฐพ์์ผ ํ๋ ์ํ์๊ฐ์ ์๋ฏธํฉ๋๋ค.
ex)1๋ถํฐ 100๋ง๊น์ง ๋ฌด์์๋ก ์ซ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด ์ค 7์ ์ฐพ์์ผ ํ ๋
4. O(nlogn)
ex) ๋ณํฉ ์ ๋ ฌ์ ํตํด์ ๊ฐ์ ์ ๋ ฌํ ๋
5. O(n^2)
๋ณดํต ์ด์ค for๋ฌธ์ ์ด์ฉํด์ n๊ฐ์ ๊ฐ์ n๋ฒ ๋์ ํด์ผ ํ๋ ์ํ์๊ฐ์ ์๋ฏธํฉ๋๋ค.
ex) ๋ฐฐ์ด a์ ๊ฐ์ด ๋ฐฐ์ด b์ ์๋์ง ํ์ธํ ๋
6. O(2^n)
2์ n์ ๊ณฑ๋งํผ ๋์ด๋๋ฏ๋ก n์ด ๋์๋ก ์ ๋ง ๊ฐํ๋ฅธ ์ํ์๊ฐ์ ๊ฐ์ง๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
ex) ํผ๋ณด๋์น ์์ด,์ฌ๊ท ํ์์ ํตํด ๊ฐ์ ์ฐพ์ ๋
7. O(n!)
์ต์ ์ ์ํ์๊ฐ์ ๊ฐ์ง๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
ex) ํฉํ ๋ฆฌ์ผ
n์ ๊ฐ์ด ์ปค์ง์๋ก ์๋์ ๊ฐ์ ๊ทธ๋ํ๋ฅผ ๊ฐ์ง๊ฒ ๋ฉ๋๋ค.
n์ ๋ฐ๋ผ์ ๊ฑธ๋ฆฌ๋ ์ํ์๊ฐ์ ์๋์ ๊ฐ์ต๋๋ค.
์๊ฐ/n | 1 | 10 | 100 |
O(1) | 1 | 1 | 1 |
O(logn) | 0 | 2 | 5 |
O(n) | 1 | 10 | 100 |
O(nlogn) | 0 | 20 | 461 |
O(n^2) | 1 | 100 | 10000 |
O(2^n) | 2 | 1024 | 1267650600228229401496703205376 |
O(n!) | 1 | 3628800 | ๋๋ฌด ํผ... |
์ค๋์ ์ด๋ ๊ฒ ์๊ฐ๋ณต์ก๋ ํ๊ธฐ๋ฒ๊ณผ ๊ฑธ๋ฆฌ๋ ์ํ์๊ฐ์ ๋ํด์ ์์๋ณด์์ต๋๋ค.
์ด๋ ๊ฒ ๊ตฌ์ฒด์ ์ผ๋ก ์ ๋ฆฌํ๊ณ ๋๋๊น ์ ๋น ์ค ํ๊ธฐ๋ฒ์ผ๋ก ์ํ์๊ฐ์ ์ค๋ช ํ๊ณ ์๊ณ ๋ฆฌ์ฆ์ ํจ์จ์ ์ผ๋ก ์ง์ผํ๋์ง
๋ ์๋ฟ๋ค์!
ํน์๋ผ๋ ํ๋ฆฐ ์ ์ด๋ ๊ถ๊ธํ์ ์ฌํญ์ด ์์ผ๋ฉด ๋๊ธ๋ก ์๋ ค์ฃผ์ธ์!
'๐ฅ Computer Science > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm] ํ ์ ๋ ฌ(HeapSort)์ด๋? (feat.Swift) (0) | 2021.10.19 |
---|---|
[Algorithm] ํฉ๋ณ ์ ๋ ฌ(Merge Sort)๋? (feat. Swift) (0) | 2021.10.14 |
[Algorithm] ์ฝ์ ์ ๋ ฌ(Insertion Sort) ์ด๋? (feat.Swift) (0) | 2021.09.28 |
[Algorithm] ๋ฐฑํธ๋ํน(Backtracking)์ด๋? (feat. ์์ ํฌํจ) (0) | 2021.08.28 |
[Algorithm] ์กฐํฉ(Combination)์ด๋? (feat.Swift) (0) | 2021.06.27 |
๋๊ธ