π© μκ° λ³΅μ‘λ(Time Complexity)λ?
μκ³ λ¦¬μ¦μ΄ μ λ ₯ ν¬κΈ°μ λ°λΌ μΌλ§λ λ§μ μκ°μ μμνλμ§λ₯Ό λνλ΄λ μ²λ.
μ¦, μ λ ₯κ°κ³Ό μ°μ° μν μκ°μ μκ΄κ΄κ³λ₯Ό λνλ΄λ μ²λλ₯Ό μκ° λ³΅μ‘λλΌκ³ νλ€.
μΌλ°μ μΌλ‘, μ λ ₯ λ°μ΄ν°μ ν¬κΈ°κ° 컀μ§μλ‘ μκ³ λ¦¬μ¦μ μ€νμκ°μ΄ μ΄λ»κ² μ¦κ°νλμ§λ₯Ό λΆμνμ¬ ν¨μ¨μ±μ νκ°νλλ° μ¬μ©νλ€.
μκ° λ³΅μ‘λλ λ³΄ν΅ λΉ μ€ νκΈ°λ²(O)μ μ¬μ©νμ¬ νννλ€.
μλ₯Ό λ€μ΄, O(n)μ΄λΌλ©΄ μ λ ₯ ν¬κΈ° nμ λΉλ‘νλ μκ°μ μμνλ€λ μλ―Έμ΄λ€.
π© μκ° λ³΅μ‘λ νν λ°©λ²
μκ° λ³΅μ‘λλ λ³΄ν΅ μ κ·Ό νκΈ°λ²(Asymptotic Notation)μΌλ‘ μ¬μ©λλ€.
https://ko.wikipedia.org/wiki/%EC%A0%90%EA%B7%BC_%ED%91%9C%EA%B8%B0%EB%B2%95
μ κ·Ό νκΈ°λ² - μν€λ°±κ³Ό, μ°λ¦¬ λͺ¨λμ λ°±κ³Όμ¬μ
μν€λ°±κ³Ό, μ°λ¦¬ λͺ¨λμ λ°±κ³Όμ¬μ . μ κ·Ό νκΈ°λ²(ζΌΈθΏ θ‘¨θ¨ζ³, μμ΄: asymptotic notation)μ μ΄λ€ ν¨μμ μ¦κ° μμμ λ€λ₯Έ ν¨μμμ λΉκ΅λ‘ νννλ μλ‘ κ³Ό ν΄μνμ λ°©λ²μ΄λ€. μκ³ λ¦¬μ¦μ 볡μ‘λλ₯Ό
ko.wikipedia.org
μ£Όλ‘ μ¬μ©λλ 3κ°μ§ μ κ·Ό νκΈ°λ²μ λΉ μ€ νκΈ°λ²(O), μ€λ©κ° νκΈ°λ² (Ω), μΈν νκΈ°λ² (θ) μ΄λ€.
κ°λ¨νκ² μ΄μ λν΄ μ€λͺ ν΄ λ³΄μλ©΄,
λΉ μ€ νκΈ°λ²(O, Big-O Notation)
- μκ³ λ¦¬μ¦μ μ±λ₯ μνμ λνλΈλ€.
- μ λ ₯ ν¬κΈ°κ° μ»€μ§ λ, μ΅μ μ κ²½μ°μλ μ€νμκ°μ΄ μ΄ κ° μ΄νλ‘ μ μ§λλ€λ κ²μ 보μ₯νλ€.
- μ£Όλ‘, μ΅μ μ μν©μμ μΌλ§λ μκ°μ΄ μμλλμ§λ₯Ό λΆμνλλ° μ¬μ©λλ€.
- μλ₯Ό λ€μ΄, $O(n^2)$ μκ³ λ¦¬μ¦μ μ λ ₯ ν¬κΈ° nμ΄ μ»€μ§λ©΄ μ€ν μκ°μ΄ μ΅λ $n^2$μ λΉλ‘ν΄μ μ¦κ°νλ€.
μ€λ©κ° νκΈ°λ²(Ω, Big-Omega Notation)
- μκ³ λ¦¬μ¦μ μ±λ₯ ννμ λνλΈλ€.
- μ λ ₯μ ν¬κΈ°κ° μ»€μ§ λ, μ΅μμ κ²½μ°μλ μ€νμκ°μ΄ μ΄ κ° μ΄μμ΄ λ μλ°μ μλ€λ κ²μ μλ―Ένλ€.
- κ°μ₯ μ’μ μν©μμλ μΌλ§λ μκ°μ΄ μμλλμ§λ₯Ό λΆμν λ μ¬μ©νλ€.
- μλ₯Ό λ€μ΄, $\Omega(n)$ μκ³ λ¦¬μ¦μ μ λ ₯ ν¬κΈ° $n$μ΄ μ»€μ§λ©΄ μ€ν μκ°μ΄ μ΅μν $n$μ λΉλ‘ν΄μ μ¦κ°νλ€.
μΈν νκΈ°λ²(θ, Big-Theta Notation)
- μκ³ λ¦¬μ¦μ μ±λ₯μ μ νν μ€λͺ νλ€.
- μ λ ₯ ν¬κΈ° nμ΄ μ»€μ§ λ, μ€νμκ°μ $\theta(f(n))$ μ μ νν λΉλ‘νλ€.
- μ£Όλ‘ μκ³ λ¦¬μ¦μ μ±λ₯μ μ ννκ² μκ³ μΆμ λ μ¬μ©νλ€.
- μλ₯Ό λ€μ΄ $\theta(n \log n)$ μκ³ λ¦¬μ¦μ μ λ ₯ ν¬κΈ° nμ΄ μ»€μ§λ©΄ μ€ν μκ°μ΄ $n \log n$ μ μ νν λΉλ‘νμ¬ μ¦κ°νλ€.
μμ½νμλ©΄
- λΉ μ€ νκΈ°λ²(O) : μ΅μ μ κ²½μ° μν (μκ³ λ¦¬μ¦μ μ±λ₯ νκ³)
- μ€λ©κ° νκΈ°λ²(Ω) : μ΅μμ κ²½μ° νν (μκ³ λ¦¬μ¦μ μ±λ₯ μ΅μμΉ)
- μΈν νκΈ°λ²(θ) : μκ³ λ¦¬μ¦μ μ±λ₯μ μ νν μ€λͺ (μνκ³Ό ννμ΄ λμΌν κ²½μ°)