λΉ μ€(Big O) νκΈ°λ²μ μκ³ λ¦¬μ¦μ μκ° λ³΅μ‘λλ κ³΅κ° λ³΅μ‘λλ₯Ό ννν λ μ¬μ©νλ μνμ νκΈ° λ°©λ²μ λλ€. μ΄ νκΈ°λ²μ μκ³ λ¦¬μ¦μ΄ μ΄λ€ ν¬κΈ°μ μ λ ₯μ λν΄ μΌλ§λ λ§μ μ°μ°μ μννκ±°λ μΌλ§λ λ§μ λ©λͺ¨λ¦¬λ₯Ό μ¬μ©νλμ§λ₯Ό λνλ΄λ λ° μ¬μ©λ©λλ€. λΉ μ€ νκΈ°λ²μ μ΅μ μ κ²½μ°μ μ±λ₯μ κΈ°μ€μΌλ‘ νλ©°, μ λ ₯ ν¬κΈ°κ° μ»€μ§ λ μκ³ λ¦¬μ¦μ μ€ν μκ°μ΄λ νμν 곡κ°μ΄ μ΄λ»κ² μ¦κ°νλμ§λ₯Ό μ€λͺ ν©λλ€.
- μκ° λ³΅μ‘λ: μκ³ λ¦¬μ¦μ΄ μΌλ§λ λΉ λ₯΄κ² μ€νλ μ μλμ§λ₯Ό λνλ λλ€. μκ° λ³΅μ‘λκ° λμ μκ³ λ¦¬μ¦μ ν° μ λ ₯μ λν΄ λ§€μ° λλ €μ§ μ μμΌλ―λ‘, ν¨μ¨μ μΈ μκ³ λ¦¬μ¦μ μ ννλ λ° μ€μν κΈ°μ€μ΄ λ©λλ€.
- κ³΅κ° λ³΅μ‘λ: μκ³ λ¦¬μ¦μ΄ μΌλ§λ λ§μ λ©λͺ¨λ¦¬λ₯Ό μ¬μ©νλμ§λ₯Ό λνλ λλ€. λ©λͺ¨λ¦¬ μ¬μ©μ΄ λ§μ μκ³ λ¦¬μ¦μ μ νλ λ©λͺ¨λ¦¬ μμμ κ°μ§ μμ€ν μμ λ¬Έμ λ₯Ό μΌμΌν¬ μ μμ΅λλ€.
λΉ μ€ νκΈ°λ²μ κΈ°λ³Έμ μΈ μμλ λ€μκ³Ό κ°μ΅λλ€:
O(1)
: μμ μκ°(Constant time) - μ λ ₯ ν¬κΈ°μ μκ΄μμ΄ μκ³ λ¦¬μ¦μ μ€ν μκ°μ΄ μΌμ ν©λλ€.O(log n)
: λ‘κ·Έ μκ°(Logarithmic time) - μκ³ λ¦¬μ¦μ μ€ν μκ°μ΄ μ λ ₯ ν¬κΈ°μ λ‘κ·Έμ λΉλ‘νμ¬ μ¦κ°ν©λλ€. μ΄μ§ νμμ΄ λνμ μΈ μμ λλ€.O(n)
: μ ν μκ°(Linear time) - μκ³ λ¦¬μ¦μ μ€ν μκ°μ΄ μ λ ₯ ν¬κΈ°μ λΉλ‘νμ¬ μ¦κ°ν©λλ€. μλ₯Ό λ€μ΄, λ°°μ΄μ ν λ² μννλ κ²½μ°μ λλ€.O(n log n)
: μ ν λ‘κ·Έ μκ°(Linearithmic time) - λ§μ ν¨μ¨μ μΈ μ λ ¬ μκ³ λ¦¬μ¦λ€μ΄ μ΄ μκ° λ³΅μ‘λλ₯Ό κ°μ§λλ€.O(n^2)
: μ κ³± μκ°(Quadratic time) - μκ³ λ¦¬μ¦μ μ€ν μκ°μ΄ μ λ ₯ ν¬κΈ°μ μ κ³±μ λΉλ‘νμ¬ μ¦κ°ν©λλ€. κ°λ¨ν μ΄μ€ 루νλ₯Ό μ¬μ©νλ μκ³ λ¦¬μ¦λ€μ΄ μ΄μ ν΄λΉν©λλ€.O(2^n)
: μ§μ μκ°(Exponential time) - μκ³ λ¦¬μ¦μ μ€ν μκ°μ΄ μ λ ₯ ν¬κΈ°μ λν 2μ κ±°λμ κ³±μ λΉλ‘νμ¬ μ¦κ°ν©λλ€. μΌλΆ λΆν μ 볡 μκ³ λ¦¬μ¦κ³Ό μ‘°ν© λ¬Έμ λ₯Ό ν΄κ²°ν λ λνλ μ μμ΅λλ€.O(n!)
: ν©ν λ¦¬μΌ μκ°(Factorial time) - μκ³ λ¦¬μ¦μ μ€ν μκ°μ΄ μ λ ₯ ν¬κΈ°μ ν©ν 리μΌμ λΉλ‘νμ¬ μ¦κ°ν©λλ€. κ°μ₯ λλ¦° μ±λ₯μ 보μ΄λ©°, μΌλΆ μμ΄ λ¬Έμ λ₯Ό ν΄κ²°ν λ λνλ μ μμ΅λλ€.
λΉ μ€ νκΈ°λ²μ μ΅μ μ κ²½μ°λ₯Ό κΈ°μ€μΌλ‘ νκΈ° λλ¬Έμ, μκ³ λ¦¬μ¦μ νκ· μ μΈ μ±λ₯μ΄λ μ΅μ μ μ±λ₯μ μ€λͺ νμ§λ μμ΅λλ€. κ·Έλ¬λ μκ³ λ¦¬μ¦μ λΉκ΅νκ³ λΆμν λ μ μ©ν λκ΅¬λ‘ μ¬μ©λ©λλ€.