2021. 8. 16. 08:00γμ½λ© ν μ€νΈ μ€λΉ/μκ³ λ¦¬μ¦
μλ νμΈμ? μ£Όλνλ μ λλ€.
μ€λμ μκ³ λ¦¬μ¦μμ μκ° λ³΅μ‘λμ λν΄ κ³΅λΆ ν΄ λ³΄λλ‘ ν κ²μ΄μμ!
μ κ° νΌ μ½λκ° κΆκΈνμλ€λ©΄? μ£Όλνλμ κΉ νλΈμ κ΄μ¬μ μ£ΌμΈμ!
λ°λ‘ μμ ν΄ λ³΄κ² μ΅λλ€!
π Algorithm 볡μ‘λ νν λ°©λ²
π Algorithm 볡μ‘λ κ³μ°
Algorithmμ 볡μ‘λμ λν κ³μ° λ°©λ²μ μ μλ κ²μΌκΉμ?
κ·Έκ²μ λ°λ‘ νλμ λ¬Έμ λ₯Ό νΈλ Algorithmμ΄ λ무λλ λ€μν μ μκΈ° λλ¬ΈμΈ κ²μ΄μμ.
μλ₯Ό λ€μ΄ μ μμ μ λκ° (+1 = 1, -1 = 1)μ ꡬνλ λ¬Έμ κ° μλ€κ³ μκ° ν΄ λ³Όκ²μ.
μ΄λ€ μ¬λμ μ μκ°μ μ κ³±ν κ°μ 루νΈλ₯Ό μμ°λ λ°©μμΌλ‘ λ¬Έμ λ₯Ό ν μ μμ κ²μ΄μμ.
λ μ΄λ€ μ¬λμ ifλ¬Έμ ν΅ν΄ ν΄λΉ κ°μ΄ μ μμΈμ§ μμμΈμ§λ₯Ό νμΈνκ³ , μμμΌ λλ§ -1μ κ³±νλλ‘ ν μλ μλ κ²μ΄μμ.
μμ κ°μ΄ λ€μνκ² μκ³ λ¦¬μ¦μ΄ λμ¬ μ μκΈ° λλ¬Έμ μ΄λ€ κ²μ΄ λ μ’μμ§λ₯Ό λΆμνκΈ° μν΄ λ³΅μ‘λλ₯Ό μ μνκ³ , κ³μ°νλ΅λλ€!
π Algorithm 볡μ‘λ κ³μ° νλͺ©
- μκ° λ³΅μ‘λ : Algorithm μ€ν μλ
- κ³΅κ° λ³΅μ‘λ : Algorithm μ¬μ© Memory Size
μ¬κΈ°μ κ°μ₯ μ€μν κ²μ μκ° λ³΅μ‘λ μΈ κ²μ΄μμ! μμ¦μ μμ μ²λΌ Memory μ©λμ΄ μ μ§λ μκ³ ,ν¬κ² λΆλ΄λ κ°κ²©λ μλκΈ° λλ¬ΈμΈ κ²μ΄μμ!
π Algorithm μκ° λ³΅μ‘λ μ£Όμ μμ
μ°λ¦¬λ μ½λ©μ νλ©΄μ μ¬λ¬κ°μ§ λ°©λ²μ μ¬μ©νκ² λλ κ²μ΄μμ.
κ·Έ μ€ λ°λ³΅λ¬Έμ΄ μκ° λ³΅μ‘λμ κ°μ₯ ν° μν₯μ μ€ μ μλ€κ³ ν΄μ!
μ λ ₯μ ν¬κΈ°κ° 컀μ§λ©΄ 컀μ§μλ‘ λ°λ³΅λ¬Έμ΄ μκ³ λ¦¬μ¦ μν μκ°μ μ§λ°°νλ΅λλ€!
π Algorithm μ±λ₯ νκΈ°λ²
π Big O (λΉ -μ€) νκΈ°λ² : O(N)
μ΄κ²μ μκ³ λ¦¬μ¦ μ΅μ μ μ€ν μκ°μ νκΈ°νλ κΈ°λ²μΈ κ²μ΄μμ.
κ°μ₯ λ§μ΄ μ¬μ©λκ³ , μΌλ°μ μΌλ‘ μ¬μ©λλ΅λλ€!
μ무리 μ΅μ μ μν©μ΄λΌλ, μ΄ μ λμ μ±λ₯μ 보μ₯ν΄μΌ νλ€μ΄κΈ° λλ¬Έμ΄λΌκ³ νλ€μ!
π Ω (μ€λ©κ°) νκΈ°λ² : Ω (N)
μ€λ©κ° νκΈ°λ²μ μκ³ λ¦¬μ¦ μ€ν μκ°μ΄ μ΅κ³ λ‘ λΉ λ₯Έ κ²μ νκΈ°νλ κΈ°λ²μΈ κ²μ΄μμ.
π Θ (μΈν) νκΈ°λ² : Θ (N)
μΈν νκΈ°λ²μ μκ³ λ¦¬μ¦ μ€νμ νκ· μκ°μ νκΈ°νλ κΈ°λ²μΈ κ²μ΄μμ.
'μ½λ© ν μ€νΈ μ€λΉ > μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μκ³ λ¦¬μ¦] λ³ν© μ λ ¬ (merge sort) (0) | 2021.09.09 |
---|---|
[μκ³ λ¦¬μ¦] Dynamic Programming(λμ κ³νλ²)& Divide and Conquer(λΆν μ 볡) (0) | 2021.09.09 |
[μκ³ λ¦¬μ¦] 02. μ ν μ λ ¬ (0) | 2021.09.08 |
[μκ³ λ¦¬μ¦] 01. λ²λΈμ λ ¬ (0) | 2021.09.07 |
[μκ³ λ¦¬μ¦] 00. μκ³ λ¦¬μ¦ μ°μ΅ λ°©λ² (0) | 2021.09.06 |