1. Complexity - BAEKJungHo/algorithms GitHub Wiki
๋ณต์ก๋(Complexity)
๋ณต์ก๋๋ ์๊ฐ ๋ณต์ก๋(Time Complexity)์ ๊ณต๊ฐ ๋ณต์ก๋(Space Complexity)๋ก ๋๋๋ค.
- ์๊ฐ ๋ณต์ก๋
- ํน์ ํ ํฌ๊ธฐ์ ์
๋ ฅ์ ๋ํ์ฌ ์๊ณ ๋ฆฌ์ฆ์ด
์ผ๋ง๋ ์ค๋ ๊ฑธ๋ฆฌ๋์ง๋ฅผ ์๋ฏธ - ์๊ณ ๋ฆฌ์ฆ์ ์ํด ํ์ํ ์ฐ์ฐ์ ํ์
- ํน์ ํ ํฌ๊ธฐ์ ์
๋ ฅ์ ๋ํ์ฌ ์๊ณ ๋ฆฌ์ฆ์ด
- ๊ณต๊ฐ ๋ณต์ก๋
- ํน์ ํ ํฌ๊ธฐ์ ์
๋ ฅ์ ๋ํ์ฌ ์๊ณ ๋ฆฌ์ฆ์ด
์ผ๋ง๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ๋์ง๋ฅผ ์๋ฏธ - ์๊ณ ๋ฆฌ์ฆ์ ์ํด ํ์ํ ๋ฉ๋ชจ๋ฆฌ์ ์
- ํน์ ํ ํฌ๊ธฐ์ ์
๋ ฅ์ ๋ํ์ฌ ์๊ณ ๋ฆฌ์ฆ์ด
๋ณดํต ๋ณต์ก๋๋ฅผ ์๊ธฐํ์ ๋ ์๋ฏธํ๋ ๊ฒ์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๋ํ๋ธ๋ค. ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ ์๋ชจํ๋ ๋์ ์ ์ป์ ์ ์๋ ์๊ฐ์ ์ด์ ์ด ๋งค์ฐ ํฐ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์๋ค. ์ค์ ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ ๋ง์ด ์ฌ์ฉํด์ ์๊ฐ์ ๋น์ฝ์ ์ผ๋ก ์ค์ด๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ฉ๋ชจ์ด์ ์ด์ (Memoization) ๊ธฐ๋ฒ์ด ์๋ค.
์๊ฐ ๋ณต์ก๋(Time Complexity)
์๊ฐ ๋ณต์ก๋๋ฅผ ํํํ ๋๋ ๋น
์ค(Big-O) ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค. ๋น
์ค ํ๊ธฐ๋ฒ์ ํจ์์ ์ํ๋ง์ ๋ํ๋ธ๋ค.
- O(1)
- ์์ ์๊ฐ(Constant Time)
- O(logN)
- ๋ก๊ทธ ์๊ฐ(Log Time)
- O(N)
- ์ ํ ์๊ฐ
- O(NlogN)
- ๋ก๊ทธ ์ ํ ์๊ฐ
- O(N ์ ๊ณฑ)
- ์ด์ฐจ ์๊ฐ
- O(N ์ธ์ ๊ณฑ)
- ์ผ์ฐจ ์๊ฐ
- O(2 N์ ๊ณฑ)
- ์ง์ ์๊ฐ