μ΄μ§νμ(binary search) μκ³ λ¦¬μ¦ =λ³λκ» κ²μππ
νμ곡κ°μ λ°μΌλ‘ λλκ³ λ λΆλΆ μ€ ν λΆλΆλ§ νμνλ μΌμ λ°λ³΅νλ μκ³ λ¦¬μ¦(=λ³λκ» κ²μππ)
β μ λ ¬λ λ°μ΄ν°μλ§ μ¬μ©
β μ λ ¬λ λ°°μ΄ Aπ§±μμ λͺ©ν―κ° Vπ©λ₯Ό ν¨μ¨μ μΌλ‘ νμπ§νλ λ° μ¬μ©
β λ°°μ΄μ΄ 'μ€λ¦μ°¨μπ§±'μΌλ‘ μ λ ¬ π " i<jμΈ λͺ¨λ μΈλ±μ€ μ i, jμ λν΄ A[i]=<A[j] "
β νμ 곡κ°μ μμͺ½ κ²½κ³(μκ³, νκ³)λ₯Ό μΆμ ν΄ μ€κ°κ°κ³Ό λͺ©νκ° λΉκ΅λ₯Ό λ°λ³΅ν¨π. (Untilπ© μ€κ°κ°=λͺ©ν―κ°)
β μ€κ°κ°λ§μ νμΈ π μκ³μ νκ³ μΈλ±μ€ κ°μ νμΈβ
β [ A(νκ³) β¦ v β¦ A(μκ³) ]
π μκ³ μΈλ±μ€: νμ¬ νμμ€μΈ 곡κ°μ μλ μμ κ°μ΄λ° μΈλ±μ€κ° κ°μ₯ ν° μμ
π μ€κ°μΈλ±μ€: (μκ³ μΈλ±μ€ + νκ³ μΈλ±μ€) Γ· 2
π νκ³ μΈλ±μ€: νμ¬ νμμ€μΈ 곡κ°μ μλ μμ κ°μ΄λ° μΈλ±μ€κ° κ°μ₯ μμ μμ
Binary search (target value=12)
β νμ κ³Όμ
π€π. μ€κ°κ° < λͺ©ν―κ°
A[μ€κ°μΈλ±μ€]<v π λͺ©ν―κ°μ΄ μ€κ°λ³΄λ€ λ€β©
νκ³ = μ€κ° + 1
π νμκ³΅κ° λ°πͺμΌλ‘ λ.κ°.리
π€π. μ€κ°κ° > λͺ©ν―κ°
A[μ€κ°μΈλ±μ€]>v λͺ©ν―κ°μ΄ μ€κ°λ³΄λ€ μβͺ
μκ³ = μ€κ° - 1
π νμ곡κ°μ λ°πͺμΌλ‘ λ.κ°.리
π€π. μ€κ°κ° = λͺ©ν―κ°
A[μ€κ°μΈλ±μ€] = v π νμ λ β
π€π. λ°°μ΄μ λͺ©ν―κ°β
νμ λ°λ³΅ π μκ³μ νκ³κ° μ μ κ°κΉμμ Έμ λλ νμΈν κ°μ΄ μμ΄μ§λ μκ° λ°μ.
μκ³ < νκ³ π νμ STOPβ
νμ μ€ μκ³ μΈλ±μ€ < νκ³ μΈλ±μ€ π λ°°μ΄ λ΄ λͺ©ν―κ°β
β μ΄μ§ νμμ μ₯μ π
π μ€κ°κ°κ³Ό λͺ©νκ° λΉκ΅λ₯Ό λ°λ³΅ν¨μΌλ‘μ μ ν¨ νμ κ³΅κ° μ€μ.
π λ°μ΄ν°μ ꡬ쑰 μ 보λ₯Ό νμ©ν΄ νμμ ν¨μ¨μ±μ λμ.
*ν¨μ¨μ μκ³ λ¦¬μ¦ π μ 보π€
π€ λ°μ΄ν°μ μ λ ¬ κΈ°μ€μ μκ³ μμ΄μΌ ν¨. (for νμμ ν¨μ¨μ±)
π€ But νμ¬ μ λ ¬λ κΈ°μ€μ΄ νμ κΈ°μ€κ³Ό λ€λ₯΄λ€λ©΄ μ΄μ§ νμβ
cf. μ§μΆκΈ°μ
μ₯
μΈμ μ΄λμ μΌλ§λ₯Ό μΌλμ§ λ²νΈ μ€λ¦μ°¨μμΌλ‘ μ 리λ μ§μΆκΈ°μ
μ₯ μμ.
μ§μΆμ μμ νμ π μ΄μ§ νμβ
μ§μΆκΈμ‘μ΄λ μ§μΆμΆμ²μ μμ νμ π μ΄μ§ νμβ π μμ νμ
μ΄μ§ νμ μκ³ λ¦¬μ¦ λ³ν
β λ°μ΄ν°μ ꡬ쑰λ₯Ό νμ©ν΄ νμ 곡κ°μ κ³μ μ λ°μΌλ‘ μ€μ¬λκ°λ μ΄μ§ νμμ κΈ°λ³Έ λ°μμ μ΄ν΄
β κΈ°λ³Έ λ°μμ ν΅ν΄ μ§κ΄μ μΌλ‘ μ΄μ§ νμμ μ‘°μ νμ¬ νμλ¬Έμ ν΄κ²°
cf. μν λ°°μ΄ νμλ¬Έμ ππ, μ’μνλ 컀νΌμ μ μ μ¨λ μ°ΎκΈ°ππ, λ³λκ» κ²μππ
λ€μ ν¬μ€ν π π μμΆμ νμ + λλΉ μ°μ νμ + κΉμ΄ μ°μ νμ