๋์ผํ ๊ธฐ๋ฅ์ ์ํํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ค๋ฉด ์ผ๋ฐ์ ์ผ๋ก ๋ณต์ก๋๊ฐ ๋ฎ์์๋ก ์ข์ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
1_ ์๊ฐ ๋ณต์ก๋(Time Complexity)
'์ผ๋ง๋ ์ค๋ ๊ฑธ๋ฆฌ๋์ง' → ์ฐ์ฐ ํ์
# ๋น ์ค(Big-O) ํ๊ธฐ๋ฒ
: ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ์ฆ๊ฐํ๋ ํญ๋ง์ ๊ณ ๋ คํ๋ ํ๊ธฐ๋ฒ
๋น ์ค ํ๊ธฐ๋ฒ | ๋ช ์นญ |
O(1) | ์์ ์๊ฐ (Constant time) |
O(logN) | ๋ก๊ทธ ์๊ฐ (Log time) |
O(N) | ์ ํ ์๊ฐ |
O(NlogN) | ๋ก๊ทธ ์ ํ ์๊ฐ |
O(N^2) | ์ด์ฐจ ์๊ฐ |
O(N^3) | ์ผ์ฐจ ์๊ฐ |
O(2^n) | ์ง์ ์๊ฐ |
(์๊ฐ ๋ณต์ก๋ ํ์์ ์์ชฝ์ ์์์๋ก ๋ ๋น ๋ฆ)
์ฝ๋ฉํ ์คํธ ๋ฌธ์ ๋ฅผ ํ๊ธฐ์ ์ ์กฐ๊ฑด์ ๋ณด๋ฉด ์ผ๋ง๋ ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ์์ฑํด์ผ ํ๋์ง ๋์น ์ฑ ์ ์๋ค.
์๋ฅผ ๋ค์ด, ์๊ฐ ์ ํ 1์ด์ธ ๋ฌธ์ ์ ๋ฐ์ดํฐ์ ๊ฐ์ N์ด 1000๋ง๊ฐ๋ฅผ ๋์ด๊ฐ๋ฉด O(N)์ ์๊ฐ ๋ณต์ก๋๋ก ๋์ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ค๊ณํ๋ฉด ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค.
2_ ๊ณต๊ฐ ๋ณต์ก๋(Space Complexity)
'์ผ๋ง๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ๋์ง' → ๋ฉ๋ชจ๋ฆฌ์ ์
์ฝ๋ฉํ ์คํธ์์๋ ๋ณดํต ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ 128~512MB ์ ๋๋ก ์ ํํ๋ค.
์ฆ, ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ ๋ฐ์ดํฐ์ ๊ฐ์๊ฐ 1000๋ง ๋จ์๋ฅผ ๋์ด๊ฐ์ง ์๊ฒ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ค๊ณํด์ผ ํ๋ค.
3_ ์๊ฐ ์ธก์
import time
s_time = time.time()
## ์๊ฐ ์ธก์ ํ ์์ค ์ฝ๋
e_time = time.time()
print("์ํ ์๊ฐ :", e_time - s_time)
โ ๏ธ ํด๋น ๊ธ์ '์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with ํ์ด์ฌ <์ ์_ ๋๋๋น>' ์ฑ ์ ๊ณต๋ถํ๊ณ ๋ณต์ตํ๊ธฐ ์ํด ์์ฑํ์ต๋๋ค.
'TIL๐ฅ > ์ฝ๋ฉํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 15894๋ฒ - ์ํ์ ์ฒด์ก๊ณผ๋ชฉ ์ ๋๋ค (1) | 2024.01.08 |
---|---|
[๋ฐฑ์ค] 10807๋ฒ - ๊ฐ์ ์ธ๊ธฐ (0) | 2022.11.03 |
๋๊ธ