Do it! ์๊ณ ๋ฆฌ์ฆ ์ฝ๋ฉํ ์คํธ : ํ์ด์ฌ
์๊ฐ ๋ณต์ก๋
์๊ฐ ๋ณต์ก๋๋ ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ฐ์ฐ ํ์๋ฅผ ๋งํจ
ํ์ด์ฌ์์๋ 2000๋ง ๋ฒ~1์ต ๋ฒ์ ์ฐ์ฐ์ 1์ด์ ์ํ ์๊ฐ์ผ๋ก ์์ธก
ํ๊ธฐ๋ฒ์๋
1. ๋น -์ค๋ฉ๊ฐ Ω(n) : ์ต์ ์ผ ๋์ ์ฐ์ฐ ํ์
2. ๋น
-์ธํ θ(n) : ๋ณดํต์ผ ๋์ ์ฐ์ฐ ํ์
3. ๋น
-์ค O(n) : ์ต์
์ผ ๋์ ์ฐ์ฐ ํ์
๊ฐ ์๊ณ
→ ์ฝ๋ฉ ํ
์คํธ์์๋ ๋น์ฐํ ๋น
-์ค ํ๊ธฐ๋ฒ์ ๊ธฐ์ค์ผ๋ก ์ํ ์๊ฐ์ ๊ณ์ฐํ๋ ๊ฒ์ด ์ข์!
(ํญ์ ์ต์
์ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํ๊ณ ๋ก์ง์ ์ง์ผํจ)
์๊ฐ ๋ณต์ก๋๋ฅผ ๋ฐํ์ผ๋ก ์ฝ๋ ๋ก์ง์ ๊ฐ์ ํ๋ ค๋ฉด ์ฝ๋์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๋์ถํ ์ ์์ด์ผํจ!
์๊ฐ ๋ณต์ก๋ ๋์ถ ๊ธฐ์ค์
1. ์์๋ ์๊ฐ ๋ณต์ก๋ ๊ณ์ฐ์์ ์ ์ธ
2. ๊ฐ์ฅ ๋ง์ด ์ค์ฒฉ๋ ๋ฐ๋ณต๋ฌธ์ ์ํ ํ์๊ฐ ์๊ฐ ๋ณต์ก๋์ ๊ธฐ์ค์ด ๋จ
๋๋ฒ๊น
๋ฌธ๋ฒ์ ์ปดํ์ผ๋ฌ๊ฐ ์ก์์ฃผ๊ธฐ ๋๋ฌธ์ ์ ๊ฒฝ์ฐ์ง ์์๋ ๊ด์ฐฎ๋ค!
ํ์ง๋ง ๋ด๊ฐ ์ง Logic ์ด ์ํ๋๋ฐ๋ก ๋์ง ์๋ ๋ ผ๋ฆฌ ์ค๋ฅ๋ ํด๊ฒฐํด์ผํจ
→ ๊ฐ์ฅ ๋ฐ์ด๋ ์ค๋ฅ ํ์ ๋ฐฉ๋ฒ์ “๋๋ฒ๊น ” ์ด๋ค.
๋๋ฒ๊น ๋ฐฉ๋ฒ์
1. ์ฝ๋์์ ๋๋ฒ๊น ํ๊ณ ์ ํ๋ ์ค์ ์ค๋จ์ (break point) ๋ฅผ ์ค์ ํ๋ค. (์ฌ๋ฌ ๊ฐ ์ค์ ๊ฐ๋ฅ)
2. IDE์ ๋๋ฒ๊น
๊ธฐ๋ฅ์ ์คํํ๋ฉด ์ฝ๋๋ฅผ 1์ค์ฉ ์คํํ๊ฑฐ๋๋ค์ ์ค๋จ์ ๊น์ง ์คํํ ์ ์์ผ๋ฉฐ,
์ด ๊ณผ์ ์์ ์ถ์ ํ ๋ณ์ซ๊ฐ๋ ์ง์ ํ ์ ์๋ค.
(์ด ๋ฐฉ๋ฒ์ผ๋ก ๋ณ์ซ๊ฐ์ด ์์ ์ด ์๋ํ ๋๋ก ๋ฐ๋๋์ง ํ์
๊ฐ๋ฅ)
3. ๋ณ์ซ๊ฐ ์ด์ธ์๋ ์ํ๋ ์์์ ์
๋ ฅํด ๋
ผ๋ฆฌ ์ค๋ฅ๋ฅผ ํ์
ํ ์ ์๋ค.
์ด๋ค.
ํ์ด์ฌ์ ์ด์ฉํด ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด๋ฅผ ์งํํ๋ฉฐ ์ค์ํ๊ธฐ ์ฌ์ด 4๊ฐ์ง ๋ํ์ ์ธ ์ค๋ฅ๋
1. ๋ณ์ ์ด๊ธฐํ ๊ณผ์ ์์ ๋ฐ์ํ๋ ์ค๋ฅ
2. ๋ฐ๋ณต๋ฌธ์ ์ธ๋ฑ์ค ์ค์ ์์ ๋ฐ์ํ๋ ์ค๋ฅ
3. ์๋ชป๋ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ์ค๋ฅ
4. ์๋ ํ๋ณํ ์ค๋ฅ (ํ์ด์ฌ์์ ๋๋๊ธฐ ์ฐ์ฐ์ / ์ // ์ ์ฐจ์ด์ ์ฃผ์!)
๊ฐ ์๋ค.
'๐ฅ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
L05 - Heapsort (2) | 2024.10.06 |
---|---|
L04 - Merge Sort & Quicksort (2) | 2024.09.27 |
L03 - Basic Sorting Algorithms (1) | 2024.09.25 |
L02 - Recurrences (1) | 2024.09.17 |
L01 - Algorithm Analysis (1) | 2024.09.14 |