#1 ์๊ฐ ๋ณต์ก๋ java
์๊ณ ๋ฆฌ์ฆ ์ ํ์ ๊ธฐ์ค์ด ๋๋ ์๊ฐ ๋ณต์ก๋ (by์๊ฑฐ๋ฒ)
์๊ฐ๋ณต์ก๋ == ์ํ์๊ฐ == ์ฐ์ฐํ์
์๋ฐ 1์ด == 1์ต๋ฒ
์๊ฐ๋ณต์ก๋ ์ ํ
1. ๋น ์ค๋ฉ๊ฐ: ์ต์ (best case)์ผ ๋ ์ฐ์ฐ ํ์, ์ฆ 1
2. ๋น ์ธํ: ๋ณดํต(average case)์ผ ๋ ์ฐ์ฐ ํ์, ์ฆ N/2
3. ๋น ์ค: ์ต์ (worst case)์ผ ๋ ์ฐ์ฐ ํ์, ์ฆ N
์ฝ๋ฉํ ์คํธ์์๋ ์ด๋ค ์๊ฐ ๋ณต์ก๋ ์ ํ์ ์ฌ์ฉํด์ผ ํ ๊น?
๋น ์ค ํ๊ธฐ๋ฒ
๋ค์ํ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์ํํด ๋ชจ๋ ํต๊ณผํด์ผ ํ๋ฏ๋ก
๋ฐ์ดํฐ์ ํฌ๊ธฐ ์ฆ๊ฐ์ ๋ฐ๋ฅธ ์ํ์๊ฐ ์ฆ๊ฐ์จ
O(1)
O(logn)
O(n)
O(nlogn)
O(n^2)
O(n^3)
O(2^n)
O(n!)
์ฐ์ฐํ์ ๊ณ์ฐ๋ฐฉ๋ฒ
์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ๋ณต์ก๋์ ๋ฐ์ดํฐ์ ์ต๋ ํฌ๊ธฐ N ๋์
ex) O(n^2) ์ ์๊ฐ๋ณต์ก๋์ธ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ฐ์ดํฐ์ ์ต๋ํฌ๊ธฐ๊ฐ 100์ธ ํ๋ก๊ทธ๋จ์ ์ฐ์ฐํ์๋ O(100^2)
์๊ฐ๋ณต์ก๋ ๋์ถ ์๋ฆฌ
1. ์์ ์ ์ธ
2. ๊ฐ์ฅ ๋ง์ด ์ค์ฒฉ๋ ๋ฐ๋ณต๋ฌธ ๋ฑ ์ฆ, ์ํญ(๊ฐ์ฅ ๋น ๋ฅด๊ฒ ์ฆ๊ฐํ๋ ํญ)๋ง์ ๊ณ ๋ ค
ex)
3N == N
N^2 + N + 3 == N^2
์๊ฐ ์ด๊ณผ๊ฐ ๋ฐ์ํ ๋
1. ์๋ง์ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ์๋์ง?
2. ๋นํจ์จ์ ์ธ ๋ก์ง ๊ฐ์
#2 ์๊ฐ๋ณต์ก๋ python
ํ์ด์ฌ 1์ด == 2์ฒ๋ง๋ฒ