π 곡λΆνλ μ§μ§μνμΉ΄λ μ²μμ΄μ§?
[μ΄κ²μ΄ μ½λ© ν μ€νΈλ€ with Python]_2_μκ³ λ¦¬μ¦ μ±λ₯ νκ° λ³Έλ¬Έ
[μ΄κ²μ΄ μ½λ© ν μ€νΈλ€ with Python]_2_μκ³ λ¦¬μ¦ μ±λ₯ νκ°
μ§μ§μνμΉ΄ 2022. 1. 28. 23:08220128 μμ±
<λ³Έ λΈλ‘κ·Έλ γμ΄κ²μ΄ μ·¨μ μ μν μ½λ© ν μ€νΈλ€γ μ youtubeλ₯Ό μ°Έκ³ ν΄μ 곡λΆνλ©° μμ±νμμ΅λλ€>
https://www.youtube.com/watch?v=Pj3IX2VehkU&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=2
1. 볡μ‘λ (Complexity)
: μκ³ λ¦¬μ¦μ μ±λ₯μ λνλ΄λ μ²λ
- μκ° λ³΅μ‘λ : νΉμ ν ν¬κΈ°μ μ λ ₯μ λνμ¬ μκ³ λ¦¬μ¦μ μν μκ° λΆμ
- κ³΅κ° λ³΅μ‘λ : νΉμ ν ν¬κΈ°μ μ λ ₯μ λνμ¬ μκ³ λ¦¬μ¦μ λ©λͺ¨λ¦¬ μ¬μ©λ λΆμ
1) λΉ μ€ νκΈ°λ²
: κ°μ₯ λΉ λ₯΄κ² μ¦κ°νλ νλ§ κ³ λ €
: μ°¨μκ° κ°μ₯ ν° νλ§ λ¨κΈ΄λ€ ( κ³μ 무μ )
2. μκ° λ³΅μ‘λ κ³μ°
ex) Nκ°μ λ°μ΄ν° ν©μ κ³μ°
# n κ°μ λ°μ΄ν°μ ν©μ κ³μ°
array = [1, 3, 5, 4, 2]
sum = 0
for x in array :
sum
sum += x
print(sum)
=> μν μκ°μ λ°μ΄ν°μ κ°μ N μ λΉλ‘
=> O(N)
ex) 2μ€ λ°λ³΅λ¬Έ
array = [2, 3, 4, 2, 1]
for i in array :
for j in array :
sum = i * j
print(sum)
=> O(N^2)
=> λͺ¨λ 2μ€ λ°λ³΅λ¬Έμ΄ O(N^2) λ μλ
3. μꡬμ¬νμ λ°λΌ μ μ ν μκ³ λ¦¬μ¦ μ€κ³
- N λ²μ 500 -> O(N^3)
- N λ²μ 2000-> O(N^2)
- N λ²μ 100,000 -> O(NlogN)
- N λ²μ 10,000,000 -> O(N)
ex) μν μκ° μΈ‘μ
import time
start_time = time.time()
end_time = time.time()
print("time : ", end_time - start_time)