Binary Search
π¨ βμ΄κ²μ΄ μ·¨μ μ μν μ½λ©ν μ€νΈλ€β κ΅μ¬ μ 리
μ΄μ§νμ
μ΄μ§νμμ λ°μ΄ν°μ ν¬κΈ°κ° ν΄ λ ν¨μ¨μ μΈ νμ μκ³ λ¦¬μ¦μ΄λ€. νλ² νμ ν λ λ§λ€ νμ λ²μλ₯Ό λ° μ© μ€μ¬λκ°λ©΄μ κ°μ μ°ΎκΈ° λλ¬Έμ μλκ° λ§€μ° λΉ λ₯΄λ€.
μ΄μ§νμμ μ λ ¬λ μλ£μ λν΄μλ§ μ¬μ©ν μ μλ€. μ½λ©ν
μ€νΈμ μμ£Ό μΆμ λλλ°, λ¬Έμ μμ νμν΄μΌ ν λ°μ΄ν°μ μμ΄ 1,000λ§ λ¨μ μ΄μμΌλ‘ λμ΄κ°λ€λ©΄ μ΄μ§νμ μ¬μ©μ κ³ λ €ν΄λ³΄λ κ²μ΄ μ’λ€. κ·Έ μμ΄λμ΄λ§ μκ°ν΄λ΄λ λ¬Έμ νΈλλ° λμμ΄ λ κ²μ΄λ€.
μμ£Ό μΆμ λλ μ νμΈ λ§νΌ μ½λλ₯Ό μμ£Ό λ³΄κ³ μΈμλλ κ²μ΄ μ’λ€.
μ리
μ΄μ§νμμ start
, end
, middle
μΈκ°μ§ κ°μ μ΄μ©νλ€. startμ end μ¬μ΄μ κ°μ΄ middle μΈλ°, μ€κ°κ°μ΄ μ°Ύκ³ μ νλ target
κ°λ³΄λ€ ν° κ²½μ°, middleκ³Ό end μ¬μ΄μ κ°λ€μ νμν νμκ° μκΈ° λλ¬Έμ κ·Έ λΆλΆμ νμ λ²μμμ λΉΌλ²λ¦¬λ κ²μ΄λ€.
νμ΄μ¬ μ½λ
μ¬κ· ν¨μ μ΄μ©
1 | def bin_search(arr, target, start, end): |
λ°λ³΅λ¬Έ μ΄μ©
1 | def bin_search(arr, target): |
νΈλ¦¬ μλ£κ΅¬μ‘°
νΈλ¦¬ μλ£κ΅¬μ‘°λ μ΄μ§νμκ³Ό λΉμ·ν λ°©μμΌλ‘ μλ£λ₯Ό νμνλ€. λ°μ΄ν°κ° λ§μλ νμ μλκ° λΉ λ₯΄κΈ° λλ¬Έμ λλΆλΆμ νμΌ μμ€ν
μ΄ νΈλ¦¬ μλ£κ΅¬μ‘°λ‘ ꡬμ±λμ΄μλ€.
νΈλ¦¬ μλ£κ΅¬μ‘°λ λ
Έλμ κ°μ μΌλ‘ μ΄λ£¨μ΄μ Έμλ€.
μ΄μ§ νμ νΈλ¦¬
μ΄μ§ νμ νΈλ¦¬λ μ΄μ§ νμμ΄ λμ ν μ μλλ‘ κ³ μλ ν¨μ¨μ νμμ΄ κ°λ₯ν μλ£κ΅¬μ‘°μ΄λ€. μ΄μ§ νμ νΈλ¦¬κ° λκΈ° μν΄μλ μλ 쑰건μ λ§μ‘±ν΄μΌ νλ€.
μΌμͺ½ μμ λ Έλ < λΆλͺ¨ λ Έλ < μ€λ₯Έμͺ½ μμ λ Έλ
μ κ·Έλ¦Όκ³Ό κ°μ νΈλ¦¬κ° μ΄μ§ νμ νΈλ¦¬μ΄λ€.
μ΄μ§ νμ νΈλ¦¬ νμ λ°©λ²
μ μ΄μ§ νμ μ μ리μ λΉμ·νκ² μ΄μ§ νμ νΈλ¦¬ λν μλ£κ΅¬μ‘°μ νΉμ±μ μ¬μ©ν΄ λΉ λ₯΄κ² νμ ν μ μλ€.
μλ‘, μ μ¬μ§μμ 14
λ₯Ό μ°Ύλ κ³Όμ μ μ΄ν΄λ³΄μ.
- νμμ μμμ
root
μμ μμνλ€.50
μ target κ° λ³΄λ€ ν¬κΈ° λλ¬Έμ λ€μ νμ λ Έλλ μΌμͺ½ μμμ΄ λλ€. 17
μ target κ° λ³΄λ€ ν¬λ€. λλ€μ μΌμͺ½ μμ λ Έλλ‘ μ΄λνλ€.12
λ target κ° λ³΄λ€ μλ€. λ°λΌμ μ€λ₯Έμͺ½ μμ λ Έλλ‘ μ΄λνλ€.- target κ°μΈ
14
λ₯Ό μ°Ύμλ€. νμμ μ’ λ£νλ€.
μ΄μ§ νΈλ¦¬ νμμ μ¬μ©μμ μ λ ₯μ λ°μ ꡬννλ κ²μ λ§μ΄ μΆμ λμ§ μλ νΈμ΄λ€.
μ΄μ§νμ λ¬Έμ
μλ λ¬Έμ λ€μ μ νμ μΈ μ΄μ§νμ λ¬Έμ λ€λ‘, νλΌλ©νΈλ¦ μμΉ μ νμ λ¬Έμ μ΄λ€. νλΌλ©νΈλ¦ μμΉλ μνλ 쑰건μ λ§μ‘±νλ κ°μ₯ μλ§μ κ°μ μ°Ύλ λ¬Έμ
μ μ£Όλ‘ μ¬μ©νλ κΈ°λ²μΌλ‘, μ΅μ ν λ¬Έμ λ₯Ό κ²°μ λ¬Έμ λ‘ λ°κΎΈμ΄ ν΄κ²°νλ κΈ°λ²μ΄λ€.
λ°±μ€-2805. λ무μλ₯΄κΈ°
λ°±μ€-1654. λμ μλ₯΄κΈ°
λ°±μ€-2512. μμ°