μκ° λ³΅μ‘λ (Time Complexity)
μκ° λ³΅μ‘λλ μκ³ λ¦¬μ¦μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° κ±Έλ¦¬λ μκ°μ μμ λνλ
λλ€. μ΄κ²μ μ
λ ₯ ν¬κΈ°μ λν ν¨μλ‘ ννλλ©°, μΌλ°μ μΌλ‘ "λΉ
μ€" νκΈ°λ²μ μ¬μ©νμ¬ λνλ
λλ€. μλ₯Ό λ€μ΄, O(n)μ μ
λ ₯ ν¬κΈ°μ λν΄ μ νμ μΌλ‘ μ¦κ°νλ€λ κ²μ μλ―Ένλ©°, O(log n)μ λ‘κ·Έ μκ°μ λΉλ‘νλ€λ κ²μ μλ―Έν©λλ€. μ’μ μκ³ λ¦¬μ¦μ μμ μ
λ ₯μμλ λΉ λ₯΄κ² μ€νλκ³ , μ
λ ₯μ΄ μ»€μ Έλ ν¨μ¨μ μΌλ‘ μ²λ¦¬ν μ μμ΄μΌ ν©λλ€.
κ³΅κ° λ³΅μ‘λ (Space Complexity)
κ³΅κ° λ³΅μ‘λλ μκ³ λ¦¬μ¦μ΄ μ€νλλ λμ μ¬μ©λλ λ©λͺ¨λ¦¬ μμ λνλ
λλ€. μ΄κ²λ μ
λ ₯ ν¬κΈ°μ λν ν¨μλ‘ ννλλ©°, λΉ
μ€ νκΈ°λ²μ μ¬μ©νμ¬ ννλ©λλ€. κ³΅κ° λ³΅μ‘λλ₯Ό μ΅μννλ κ²μ λ©λͺ¨λ¦¬λ₯Ό ν¨μ¨μ μΌλ‘ νμ©νλ μ€μν λΆλΆμ
λλ€. μ’μ μκ³ λ¦¬μ¦μ μ μ λ©λͺ¨λ¦¬λ₯Ό μ¬μ©νμ¬ μνλ κ²°κ³Όλ₯Ό μ»μ μ μμ΄μΌ ν©λλ€.
κ°λ¨ν λ§νλ©΄, μκ° λ³΅μ‘λλ μ€ν μκ°μ λν κ²μ΄κ³ , κ³΅κ° λ³΅μ‘λλ λ©λͺ¨λ¦¬ μ¬μ©μ λν κ²μ λλ€.
μ΄λΆνμμ μ£Όλ‘ μ λ ¬λ λ°μ΄ν°μμ μ¬μ©λλ©°, λ°μ΄ν°λ₯Ό μ λ ¬νλ λ°μλ μΆκ°μ μΈ μκ°μ΄ μμλμ§λ§ νμμμ μ»λ μ΄μ μ΄ λ ν¬κΈ° λλ¬Έμ μ λ ¬λ λ°μ΄ν°μμ λ§€μ° μ μ©ν©λλ€.
μ΄λΆνμμ μ리
λ°°μ΄μ μ€κ° κ°κ³Ό μ°Ύκ³ μ νλ κ°μ λΉκ΅ν©λλ€.
μ°Ύκ³ μ νλ κ°μ΄ μ€κ° κ°λ³΄λ€ μμΌλ©΄ μ€κ° κ°μ μΌμͺ½ λ°μ λμμΌλ‘ μ΄μ§ νμμ μνν©λλ€.
μ°Ύκ³ μ νλ κ°μ΄ μ€κ° κ°λ³΄λ€ ν¬λ©΄ μ€κ° κ°μ μ€λ₯Έμͺ½ λ°μ λμμΌλ‘ μ΄μ§ νμμ μνν©λλ€.
μ°Ύκ³ μ νλ κ°μ΄ μ€κ° κ°κ³Ό μΌμΉνλ©΄ μνλ κ°μ μ°Ύμ κ²μ΄λ―λ‘ μκ³ λ¦¬μ¦μ μ’
λ£ν©λλ€.
μκ° λ³΅μ‘λ
μ΄λΆνμμ μκ° λ³΅μ‘λλ O(log n)μ
λλ€. μ΄λ νμ λ²μλ₯Ό λ°μΌλ‘ λλκΈ° λλ¬Έμ νμ μκ°μ΄ λ‘κ·Έμ ννλ‘ κ°μνκΈ° λλ¬Έμ
λλ€. μ΄λ μ ν νμμ O(n)κ³Ό λΉκ΅νλ©΄ ν¨μ¬ ν¨μ¨μ μ
λλ€. μ΄λ¬ν νΉμ±μΌλ‘ μΈν΄ μ΄λΆνμμ λλμ λ°μ΄ν°μμ λΉ λ₯΄κ² νΉμ κ°μ μ°Ύμ μ μλ κ°λ ₯ν μκ³ λ¦¬μ¦μΌλ‘ μ¬μ©λ©λλ€.
1. λ€μ΄λλ―Ή νλ‘κ·Έλλ° νμ©
μ€λ³΅λλ κ³μ°μ νΌνκ³ μ€κ° κ²°κ³Όλ₯Ό μ μ₯νμ¬ κ³μ° μλλ₯Ό ν₯μμν€λ λ°©λ²μ
λλ€.
ν° λ¬Έμ λ₯Ό μμ λΆλΆμΌλ‘ λλμ΄ νΈλλ°, νλ² νΌ μμ λ¬Έμ μ ν΄κ²°μ±
μ κΈ°μ΅νκ³ μ¬νμ©ν¨μΌλ‘μ¨ μ€λ³΅ κ³μ°μ μ€μ
λλ€.
2. 그리λ μκ³ λ¦¬μ¦ μ¬μ©
그리λ μκ³ λ¦¬μ¦μ κ° λ¨κ³μμ κ°μ₯ μ΅μ μ μ νμ νλ λ°©λ²μ
λλ€.
μ£Όμ΄μ§ λ¬Έμ μ λν΄ νμ νμ¬ μνμμ κ°μ₯ μ΅μ μ μ νμ νλ 그리λ μ λ΅μ μ μ©νλ©΄, μ 체μ μΌλ‘ μ΅μ μ ν΄λ₯Ό μ°Ύμ μ μμ΅λλ€.
3. λ°μ΄ν° ꡬ쑰 μ΅μ ν
μ μ ν λ°μ΄ν° ꡬ쑰μ μ νμ μκ³ λ¦¬μ¦ μ±λ₯μ ν° μν₯μ λ―ΈμΉ©λλ€.
νΉμ μμ
μ ν¨μ¨μ μΈ μλ£ κ΅¬μ‘°λ₯Ό μ¬μ©νλ©΄ μκ³ λ¦¬μ¦μ μ±λ₯μ ν₯μμν¬ μ μμ΅λλ€. μλ₯Ό λ€μ΄, ν΄μ ν
μ΄λΈμ΄λ ν κ°μ μλ£ κ΅¬μ‘°λ₯Ό μ μ ν μ¬μ©νλ©΄ μΌλΆ λ¬Έμ μμ λΉ λ₯Έ μλλ₯Ό μ»μ μ μμ΅λλ€.
μν©μ λ°λΌ μ‘°ν©νμ¬ μ¬μ©νλ κ²μ΄ μ€μνλ©°, μ½λμ κ°λ μ±κ³Ό μ μ§λ³΄μμ±μ κ³ λ €νμ¬ μ΅μ νλ₯Ό μ§ννλ κ²μ΄ μ’μ΅λλ€.
1. λ°μ΄ν° μμΆ νμ©
λ°μ΄ν°λ₯Ό μμΆνμ¬ μ μ₯νλ©΄ λ©λͺ¨λ¦¬λ₯Ό ν¨κ³Όμ μΌλ‘ νμ©ν μ μμ΅λλ€.
μλ₯Ό λ€μ΄, νΉμ νμμ λ°μ΄ν°μμ μ€λ³΅λλ λΆλΆμ μ°Ύμλ΄κ³ μ΄λ₯Ό μμΆνμ¬ μ μ₯ν¨μΌλ‘μ¨ λ©λͺ¨λ¦¬ μ¬μ©μ μ΅μνν μ μμ΅λλ€.
2. λ°μ΄ν° ꡬ쑰 μ΅μ ν
μ μ ν λ°μ΄ν° ꡬ쑰μ μ νμ κ³΅κ° λ³΅μ‘λμ ν° μν₯μ λ―ΈμΉ©λλ€.
νμν κΈ°λ₯μ μννλλ° μ΅μνμ λ©λͺ¨λ¦¬λ₯Ό μ¬μ©ν μ μλ μλ£ κ΅¬μ‘°λ₯Ό μ ννλ κ²μ΄ μ€μν©λλ€. μλ₯Ό λ€μ΄, νΈλ¦¬λ ν΄μ맡μ νΉμ μν©μμ λ©λͺ¨λ¦¬λ₯Ό ν¨μ¨μ μΌλ‘ νμ©ν μ μλ μλ£ κ΅¬μ‘°μ
λλ€.
3. λΉνΈ μ°μ° νμ©
λΉνΈ μ°μ°μ ν΅ν΄ λ°μ΄ν°λ₯Ό ν¨κ³Όμ μΌλ‘ μμΆνκ±°λ ννν μ μμ΅λλ€.
λΉνΈ μ°μ°μ μ¬μ©νμ¬ μ¬λ¬ κ°μ§ μ 보λ₯Ό νλμ λ³μμ ν¨κ³Όμ μΌλ‘ μ μ₯νλ©΄ 곡κ°μ μ μ½ν μ μμ΅λλ€. μ΄λ νΉν λλμ λ°μ΄ν°λ₯Ό λ€λ£° λ μ μ©ν©λλ€.