μλ£κ΅¬μ‘°/πμκ³ λ¦¬μ¦ - 4
νμ΅κΈ°λ‘
μ€λ λ€μ κ°μ λͺ©λ‘
- μκ°λ³΅μ‘λ - 1
- μκ°λ³΅μ‘λ - 2
μκ³ λ¦¬μ¦ λ³΅μ‘λ
볡μ‘λκ° μ μ€κ°μ μμ§?
볡μ‘λλ₯Ό 곡λΆνκ³ , κΈ°μ΄μ μΈ μλ£κ΅¬μ‘°λ₯Ό λ°°μ°λ©΄ λ³λ‘ μλΏμ§λ μκ³ κ·Έλμ κΉλ¨Ήμ κ²μ΄λ€.
κ°μ¬λμ΄ μ΄λ κ² λ§μνμ
¨λλ°, μ΄λ°μκ°μ μ²μν΄λ³΄λλ° μ΄κ² λ§λ€.
볡μ‘λλ₯Ό 곡λΆνλ©΄ μκ³ λ¦¬μ¦μ νλ©΄μ βλ΄κ° μ§ μκ³ λ¦¬μ¦μ 볡μ‘λλ μ΄λ»κ² λλκ°?βλΌλ μκ°μΌλ‘ 볡μ‘λλ₯Ό ꡬν΄λ³΄κ³ , λ€λ₯Έ μκ³ λ¦¬μ¦κ³Ό 볡μ‘λμ μ°¨μ΄λ₯Ό 보면 μ’ μλΏκ³ κΈ°μ΅μλ κΈΈκ² λ¨κ² λλ€.
κ·ΈλΌ λ€μμ 볡μ‘λλ 무μ¨λ§μΌκΉ?
μκ³ λ¦¬μ¦μμ 볡μ‘λ?
μκ³ λ¦¬μ¦μμ 볡μ‘λλ μκ°, κ³΅κ° λ³΅μ‘λλ₯Ό λ§νλ€.
μ΄λ μκ³ λ¦¬μ¦μ ν¨μ¨μ νκ°νλ κΈ°μ€μ΄ λλ€.
μκ°λ³΅μ‘λ?
μκ°λ³΅μ‘λ = μ€ν μλ
μκ°λ³΅μ‘λλ νλμ λ¬Έμ λ₯Ό νΈλλ° β걸리λ μκ°βμ΄λ€.
λ°λΌμ, μ΄λ βμ€ν μλβμ κ°λ€.
μκ°λ³΅μ‘λλ₯Ό ꡬνλ λ°©λ²
κ°λ¨νκ² λ§νλ©΄ nμλ°λΌ λ°λ³΅λ¬Έμ΄ λ°λ³΅λλ νμλ₯Ό ꡬνλ€.
μ΄ μ½λκ° μΌλ§λ μ€λ걸리λκ°?λ₯Ό ꡬνκΈ° μν κΈ°μ€μ λ°λ³΅λ¬ΈμΌλ‘ μΌλλ€.
μ λ°λ³΅λ¬ΈμΌλ‘ κΈ°μ€μ μ‘λκ°? λΌλ μ§λ¬Έμ νλ©΄, κ°μ μ½λλ₯Ό λ°λ³΅νλ κ²μ΄ λ°λ³΅λ¬Έμ΄κ³ , μ½λμ μ€νμκ°μ κ° μ½λμ μ€νμκ°μ ν©μ΄λ€.
λ°λ³΅λ¬Έμ κ°μ μ½λλ₯Ό λ°λ³΅νμ¬ μ€νμκ°μ μ¦κ°μν¨λ€.
nμ΄ μ£Όμ΄μ§λ λ°λ³΅λ¬Έμ΄ $log n$λ² μνλλλ, $n$λ² μνλλλ, $n^2$λ² μνλλλμ λ°λΌμ μ΄λ€μ μ±λ₯μ κ²°μ ν μ μλ€.
νλμ μλ‘
f1(n)μ 볡μ‘λκ° 100000μκ°,
f2(n)μ 볡μ‘λκ° $n^2$μκ°,
μ΄λΌ ν λ,
f1(n)
f2(n)
μ΄λ¬ν νλ‘κ·Έλ¨μ μκ°λ³΅μ‘λλ 100000+n^2 μκ°μ΄κ² μ§λ§,
nμ΄ 100000μ²λΌ λ§€μ° μ»€μ§κ²λλ©΄, 100000μκ°μ μμ£Ό μμ μκ°μ΄ λμ΄ λ¬΄μν΄λ λ μ λμ μκ°μ΄ λλ€.
μ΄μ²λΌ μμμκ°μ 무μνκ³ , κ°μ₯ ν° λΉμ€μ μ°¨μ§νλ λ°λ³΅λ¬Έμ κΈ°μ€μΌλ‘ μ‘μμ μκ°λ³΅μ‘λλ₯Ό νκΈ°νκ² λλ€.
곡κ°λ³΅μ‘λ?
곡κ°λ³΅μ‘λ = λ©λͺ¨λ¦¬ μ¬μ©λ
곡κ°λ³΅μ‘λλ νλμ λ¬Έμ λ₯Ό νΈλλ° νμν βμ μ₯곡κ°μ ν¬κΈ°βμ΄λ€.
λ°λΌμ, μ΄λ βλ©λͺ¨λ¦¬ μ¬μ©λβκ³Ό κ°λ€.
λ©λͺ¨λ¦¬ μ¬μ©λμ (μλ£νμ ν¬κΈ° * μ¬μ©ν ν¬κΈ°)μ ν©μ΄ λλ€. λ©λͺ¨λ¦¬ μ¬μ©λμ λμ€μ νμ§μμκΉ μΆκΈ°λ νκ³ , νμ΄μ¬μ΄λΌ μνλ €λ μΆκΈ°λ..?
μ±λ₯ νκΈ°λ² (μκ°λ³΅μ‘λ)
λΉ μ€(Big-O) : O(n)
μ΅μ μ μ€νμκ°μ νκΈ°νλ€.
μμλ μ κ±°νκ³ νκΈ°νλ€. (λ€λ₯Έ νκΈ°λ²λ€λ λ§μ°¬κ°μ§) nμλ°λΌ μ΄λμ λλ‘ λ³΅μ‘λκ° μ¦κ°νλμ§ μκΈ° μν¨μ΄κΈ° λλ¬Έμ μμ λ° κ³μλ μ κ±°νκ³ log, μ§μλ±μ μ΄μ©ν΄μ νκΈ°νλ€.
O($1$), O($log n$), O($n$), O($n log n$), O($n^2$), O($2^n$), O($n!$)λ±μΌλ‘ νκΈ°νλ€.
O($1$)μ μ¬μ©νλ κ²½μ°λ O(n)μμ nμ μλ¦¬κ° μμμΌλμ΄λ€. (nμ λ°λΌ μκ°μ΄ μ¦κ°νμ§ μλλ€λ λ»μ ν¬ν¨νκ³ μλ€.)
ex) O(9999) -> O(1)
O($n$)μ μ¬μ©νλ κ²½μ°λ O(n)μμ nμ μ§μκ° 1μΌλμ΄λ€. κ³μλ λν΄μ§λ μμλ 무μνλ€.
ex) O(3n) -> O(n), O(3n + 10000) -> O(3n)
O($n^k$)μ μ¬μ©νλ κ²½μ°λ O(n)μμ nμ μ§μκ° kμΌλμ΄λ€.(μ΅μ½μ μ€νμκ°μ νκΈ°νλ―λ‘ μ§μκ° κ°μ₯ ν° νμ μ΄μ©ν΄μ νκΈ°νλ€.) ex) O($3n^3 + 2n^2 + n + n log n$) -> O(n^3)
μ€λ©κ° (Ξ©) : Ξ©(n)
μ΅μμ μ€νμκ°μ νκΈ°νλ€
μΈν (Ξ) : Ξ(n)
νκ· μ€νμκ°μ νκΈ°νλ€.
κ°μ₯ λ§μ΄ μ¬μ©νλ λΉ μ€ νκΈ°λ²
μ? λΉ
μ€ νκΈ°λ²μ μ΅μ
μ μΌμ΄μ€λ₯Ό λλΉνλ νκΈ°λ²μ΄λ€.
μκ³ λ¦¬μ¦ λ¬Έμ λ₯Ό νλλ νμ λ μκ°κ³Ό νμ λ λ©λͺ¨λ¦¬μμ μ΅μ μ μΌμ΄μ€λΆν° μ΅μ
μ μΌμ΄μ€κΉμ§ λͺ¨λ μ£Όμ΄μ§ κ²μ΄λ€.
μ΄λ μ΅μ μ μ½λλ₯Ό μμ±νκΈ° μν΄μλ μ΅μ
μ μΌμ΄μ€λ₯Ό κΈ°μ€μΌλ‘ νλ κ²μ΄ λͺ¨λ μΌμ΄μ€λ₯Ό ν΅κ³Όν μ μλ μ½λμΌ κ²μ΄λ€.
κ·Έλ¬κΈ° μν΄μλ λ΄κ° μμ±νλ μ½λμ μ΅μ
μ μΌμ΄μ€λ₯Ό ν΄κ²°ν λμ μκ°λ³΅μ‘λλ₯Ό ꡬν΄μΌνλλ°, μ΄κ²μ΄ λΉ
μ€ νκΈ°λ²μΌλ‘ ꡬν μκ°λ³΅μ‘λμ΄κΈ° λλ¬Έμ΄λ€.
λΉ μ€ νκΈ°λ²μΌλ‘ μκ°λ³΅μ‘λ ꡬνκΈ°
κ°μ’μμ λμ¨ 1λΆν° nκΉμ§μ ν©μ ꡬνλ μκ³ λ¦¬μ¦μ μμ±ν΄λ³΄μ
- κ°μ₯ λ¨μνκ² νμ΄λ°©λ² : λ°λ³΅λ¬ΈμΌλ‘ 1λΆν° nκΉμ§ λ€ ν©ν΄μ ꡬνλ€.
n = 100
sum = 0
for i in range(1, n + 1):
sum += i
print(sum)
μκ°λ³΅μ‘λ : O(n)
- 곡μμ μ΄μ©ν νμ΄λ°©λ² : $\displaystyle\sum_{i=1}^n i = {n(n+1)\over2}$
n = 100
sum = (n * (n + 1)) / 2
print(sum)
μκ°λ³΅μ‘λ : O(1)
μ΄μ κ°μ΄ κ°μ νλ‘κ·Έλ¨λ 볡μ‘λκ° μ΄λ κ²λ μ°¨μ΄κ° λ μ μλ€.
λ§μ§λ§
μκ³ λ¦¬μ¦μ νλ€λ©΄ μκ°λ³΅μ‘λλ₯Ό ꡬν μ μμ΄μΌνκ³ , μ€μνλ€.
κ°μ¬λκ»μλ κ³μ λ§μνμ
¨λ€.
μλ£κ΅¬μ‘°ν λλ κ·Έλ₯ μ€-μ½ μ§λκ°λ μ골ννΈλ‘ λμ΄κ°λ©΄ μ€-μ½ μ§λκ°λ©΄ μλ¨!!
μκ°/κ³΅κ° λ³΅μ‘λλ λ€λ₯Έ μκ³ λ¦¬μ¦μ΄λ μλ£κ΅¬μ‘°μ ν¬μ€νΈκ° κ°μ΄ ν¬ν¨λμ§ μμΌλ©΄ μ’κ² μ΄μ λ°λ‘ λΊλ€. μλ£κ΅¬μ‘° ννΈμ§λ§, μκ³ λ¦¬μ¦μ λ κ°κΉλ€κ³ μκ°ν΄μ μκ³ λ¦¬μ¦ μΉ΄ν κ³ λ¦¬λ‘ λ£μ΄μΌκ² λ€.
μ! κ·Έλ¦¬κ³ κ·Έ $n^3 + n^2$κ°μ νμ΄ μ¬λ¬κ°μλ ννμμ μ΅κ³ μ°¨νλ§ λ³Έλ€λ λΆλΆμ΄ μ΄ν΄κ° μλ μ μλλ° nμ΄ μμ² μ»€μ§λ©΄ μ무리 $n^2$μ΄λΌλ $n^3$μ λΉνλ©΄ 무μν΄λ λ μ λλ‘ μμ² μμ μλΌμ κ·Έλ°κ²μ΄λ€.
(μ΄μͺ½μ μν?μͺ½μ΄λΌ νκΈ΄ λνλ° μνΌ μνμͺ½, μ λ§μΉ¨ λ§μ΄ λμμ κ·Έλ°λ° νμνμνμ΄λΌκ³ μν μ±
λ μκ³ μ νλΈλ μλλ° μν μ’μνλ©΄ κ½€ μ¬λ°λ€. μ νλΈλ μ½κ° 쑸릴μμ΄γ
γ
β¦)
λ€μμ λ€μ κ°μ
- ν΄μ¬ν μ΄λΈ - 1
- ν΄μ¬ν μ΄λΈ - 2
- ν΄μ¬ν μ΄λΈ - 3
- ν΄μ¬ν μ΄λΈ - 4
- ν΄μ¬ν μ΄λΈ - 5
λ€ λ€μμ μμμ§ λλ λ€μ΄μΌν μ§ λͺ¨λ₯΄κ² λ€..
κ°μ λ΄μ©μ νλ²μ λ£λκ² μ΅κ³ μΈλ° μ§μ λμ°©νλ©΄ 7μ, μ λ
λ¨Ήκ³ λνλ€λ³΄λ©΄ 8μ,
2λ°°μμΌλ‘ 2λ²μ΄μ λ€μν
λ° κ·Έλ¬λ©΄ ν 2μκ°μ λ κ±Έλ¦¬κ³ , 10μ? ν¬μ€νΈ 2μκ° μ΄λ΄λ‘ μ μΆ..?
μΌμΌ.. λλ €λ λͺ¨λ₯΄κ² λ€.
λκΈλ¨κΈ°κΈ°