μλ°μ€ν¬λ¦½νΈ κ°μ 볡μ΅
μλ£ κ΅¬μ‘° δΈ λ°°μ΄ - μ½κΈ°, κ²μ, μ½μ , μμ
λλ¦Όμ½λ© 'νλ‘ νΈμλ νμ λΈλΌμ°μ 101' κ°μ
λ Έλ§λ μ½λ μ νλΈ 'μκ³ λ¦¬μ¦.λ°μ΄ν°κ΅¬μ‘° with Nico' 1 ~ 7νΈ (λ°μ μ 리λ 2νΈλ§)
μκ³ λ¦¬μ¦ λκ° μ±
μλ°μ€ν¬λ¦½νΈλ₯Ό μ¬μ©νλ μλ£ κ΅¬μ‘°μ μκ³ λ¦¬μ¦ κ°μλ μ λ§λ‘ μ°ΎκΈ°κ° μ΄λ ΅λ€. μ°ΎκΈ° μ΄λ €μ΄ μ΄μ κ° μλ κ±° κ°κΈ΄ νμ§λ§. κ²°κ΅ μ λ¬Έ μμ€μ μ± μ ν κΆ μ£Όλ¬Ένλ€. λ Έλ§λ μ½λ κ°μλ μ΄ν΄λ₯Ό μν΄ μ λλ©μ΄μ μμ£Όλ‘ μ€λͺ μ΄ λμ΄ μμ΄μ νλ‘κ·Έλλ° μΈμ΄μ μκ΄μμ΄ λ§λ³΄κΈ° λλμΌλ‘ λ£κΈ° μ’μ κ±° κ°λ€. μΆκ°λ‘ μκ³ λ¦¬μ¦ λκ°μ΄λΌλ μ±μ μ΄μ©νλ€.
μ΄λ‘ κ°μλ₯Ό 2λ°°μμΌλ‘ μ λΆ λ€μ λ€μΌλ©΄μ λ°°μ΄ λ΄μ©μ μ 리νλ€
νκΈ°ν λ΄μ©λ ν¨κ» 보면μ 곡λΆνλ κ²λ€μ λ€μκΈ μκΈ°νλ μκ°μ κ°μ‘λ€
λ°μ΄ν°λ₯Ό μ 리νλ κ²
μλ£ κ΅¬μ‘°μ μ°μ° νΉμ μκ³ λ¦¬μ¦μ΄ μΌλ§λ λΉ λ₯΄κ³ λλ¦°μ§λ₯Ό μΈ‘μ νλ κ²
μκ°μ΄ μλλΌ 'λ¨κ³'μ κ°λ (λ¨κ³κ° μ μμλ‘ μ±λ₯μ΄ μ’λ€)
μ¬λ¬ μλ£ κ΅¬μ‘° μ€ λ°°μ΄(Array)
μ μμλ‘ λ¦
π‘ μ½κΈ°
νλ‘κ·Έλλ° λ³μλ€μ RAM(Random Access Memory)μ μ μ₯λλ€. RAMμ μ μ₯λ λ°μ΄ν°μλ λλ€μΌλ‘ μ μν μ μκΈ° λλ¬Έμ λ°μ΄ν°λ₯Ό λΉ λ₯΄κ² μ½μ΄μ¬ μ μλ€.
λ°°μ΄μ λ§λ€ λλ RAM μμ μμλ€μ΄ λλν μμΉν μ μλλ‘ λ°°μ΄μ κΈΈμ΄λ₯Ό μ€μ ν΄μ£ΌκΈ° λλ¬Έμ, μ»΄ν¨ν°λ κΈ°λ³Έμ μΌλ‘ λ°°μ΄μ κΈΈμ΄μ ν¨κ» λ°°μ΄μ΄ μ΄λμ μμνλμ§λ₯Ό μκ³ μλ€.
λ°λΌμ, μΈλ±μ€
λ₯Ό μ΄μ©ν΄ λ°μ΄ν°(λ°°μ΄μ μμλ€)λ₯Ό λΉ λ₯΄κ² μ½μ΄μ¬ μ μλ€.
μ΄λ λ°°μ΄μ μμκ° λͺ κ°κ° μλ κ°μ μΈλ±μ€λ₯Ό μ΄μ©ν΄ μμλ₯Ό μ½μ΄λ΄λ μλλ κ°μΌλ―λ‘ μ°μ°μ μλλ λ°°μ΄μ κΈΈμ΄μ κ΄κ³ μλ€.
π‘ κ²μ
μ ν κ²μ (Linear Search)
μΈλ±μ€ 0λΆν° μμλλ‘ νλμ© νμΈν΄λ΄μΌ νλ€.
μ΅μ
μ κ²½μ°, λ°°μ΄μ μ²μλΆν° λκΉμ§ νμΈμ ν΄λ μ°Ύλ κ°μ΄ μμ μ μλ€.
μ΄μ§ κ²μ (Binary Search)
π‘ μ½μ
ex) κΈΈμ΄λ₯Ό 5λ‘ μ€μ ν λ°°μ΄μ 4κ°μ μμλ§ λ€μ΄ μλ κ²½μ°, μλ‘μ΄ μμλ₯Ό μ½μ νκ³ μ ν λ
곡κ°μ μ΄λ―Έ ν보λμ΄ μμΌλ―λ‘, λ¬Έμ λ μλ‘μ΄ μμλ₯Ό 'μ΄λμ' μΆκ°ν κ²μΈκ°μ΄λ€. 3κ°μ§ μλ리μ€λ₯Ό μκ°ν΄λ³Ό μ μλ€.
μ΅κ³ μ μλ리μ€λ λ°°μ΄μ 맨 λ€μ μΆκ°νλ κ²μ΄λ€. μ»΄ν¨ν°λ κΈ°λ³Έμ μΌλ‘ λ°°μ΄μ κΈΈμ΄μ ν¨κ» λ°°μ΄μ΄ μ΄λμ μμνλμ§λ₯Ό μκ³ μμΌλ―λ‘ λ°°μ΄μ 맨 λ€λ‘ μ΄λν΄μ μΆκ°νλ©΄ λΉ λ₯΄κ² λμ΄ λλ€.
κ·Έ λ€μ μλ리μ€λ λ°°μ΄μ μ€κ°μ μΆκ°νλ κ²μ΄λ€. λ°°μ΄μ μ€κ°μ μλ‘μ΄ μμλ₯Ό μΆκ°ν 곡κ°μ λ§λ€κΈ° μν΄, λ°°μ΄ μ€κ°μ λ€μμ μμΉν μμλ€μ μ λΆ νλμ© λ€λ‘ λ°μ΄λ΄μΌ νλ€.
μ΅μ μ μλ리μ€λ λ°°μ΄μ 맨 μμ μΆκ°νλ κ²μ΄λ€. λ°°μ΄μ 맨 μμ μλ‘μ΄ μμλ₯Ό μΆκ°ν 곡κ°μ λ§λ€κΈ° μν΄, λ°°μ΄μ λͺ¨λ μμλ€μ μ λΆ νλμ© λ€λ‘ λ°μ΄λ΄μΌ νλ―λ‘ μκ°μ΄ μ€λ κ±Έλ¦°λ€.
ex) κΈΈμ΄λ₯Ό 5λ‘ μ€μ ν λ°°μ΄μ 5κ°μ μμκ° κ½ λ€μ΄μ°¨ μλ κ²½μ°, μλ‘μ΄ μμλ₯Ό μ½μ νκ³ μ ν λ
λ λ€λ₯Έ μ΅μ μ μλ리μ€μ΄λ€. 5λ³΄λ€ ν° λ°°μ΄μ λ§λ€μ΄μ μ΄μ λ°°μ΄μ 볡μ¬ν ν μλ‘μ΄ μμλ₯Ό μΆκ°λ₯Ό ν΄μΌ νλ―λ‘ μκ°μ΄ μ€λ κ±Έλ¦°λ€.
π‘ μμ
λ°°μ΄μ 맨 λ€ μμλ₯Ό μμ ν λλ, 맨 λ€λ‘ μ΄λν΄μ μμ ν΄μ£Όλ©΄ λΉ λ₯΄κ² λλλ€.
λ°°μ΄μ μ€κ° μμλ₯Ό μμ ν λλ, μ€κ° μμλ₯Ό μμ ν ν 곡백μ λ©κΎΈκΈ° μν΄ κ·Έ μ΄νμ μμλ€μ μ λΆ μμΌλ‘ λΉκ²¨μμΌ νλ€.
λ°°μ΄μ 맨 μ μμλ₯Ό μμ ν λλ, 맨 μ μμλ₯Ό μμ ν ν 곡백μ λ©κΎΈκΈ° μν΄ λ¨μ λͺ¨λ μμλ€μ μ λΆ μμΌλ‘ λΉκ²¨μμΌ νλ€.
λ Έλ§λ μ½λ μ νλΈ κ°μ λ΄μ© λ§μ μ 리 (3 ~ 7νΈ)
λλ¦Όμ½λ© μ νλΈ 'μλ°μ€ν¬λ¦½νΈ κΈ°μ΄ κ°μ' λ³΅μ΅ (1 ~ 9νΈ)