- Today
- Total
λͺ©λ‘μ 체 κΈ (351)
DATA101
λ³Έ ν¬μ€ν μμλ μ΄μ§ νμ(Binary Search) μκ³ λ¦¬μ¦μ λν΄ μμλ΄ λλ€. π λͺ©μ°¨ 1. μ΄μ§ νμμ΄λ? 2. μ΄μ§ νμμ λμ κ³Όμ 3. μ΄μ§ νμμ μκ° λ³΅μ‘λ 4. μ΄μ§ νμ ꡬν(Python) 1. μ΄μ§ νμμ΄λ? μ΄μ§ νμμ νμμ λ²μλ₯Ό μ λ°μ© μ’νκ°λ©° λ°μ΄ν°λ₯Ό νμνλ μκ³ λ¦¬μ¦μ λλ€. μ΄μ§νμ μκ³ λ¦¬μ¦μ 리μ€νΈ λ΄ λ°μ΄ν°κ° μ΄λ μ λ μ λ ¬λμ΄ μμ΄μΌλ§ μ¬μ© κ°λ₯νλ©° λ°μ΄ν°κ° 무μμλ‘ μ λ ¬λμ΄ μλ€λ©΄ μ¬μ©ν μ μμ΅λλ€. μ΄μ§ νμ μκ³ λ¦¬μ¦μ μ λ ₯ λ°μ΄ν°κ° λ§κ±°λ(e.g., 1,000λ§ κ° μ΄μ) νμ λ²μμ ν¬κΈ°κ° λ§€μ° λμ λ(e.g., 1,000μ΅ μ΄μ) ν¨κ³Όμ μΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λλ€. 2. μ΄μ§ νμμ λμ κ³Όμ μ΄μ§ νμμ λμ κ³Όμ μ λν΄ μ΄ν΄νκΈ° μν΄μλ μμ°¨ νμ(..
λ³Έ ν¬μ€ν μμλ μμ°¨ νμ(Sequential Search)μ λν΄ μμλ΄ λλ€. π λͺ©μ°¨ 1. μμ°¨ νμ(μ΄λ? 2. λμ κ³Όμ 3. ꡬν(Python) 4. μκ° λ³΅μ‘λ 1. μμ°¨ νμμ΄λ? μμ°¨ νμ(Sequential Search)μ λ§ κ·Έλλ‘ λ¦¬μ€νΈ λ΄ νΉμ λ°μ΄ν°λ₯Ό μ°ΎκΈ° μν΄ μμμλΆν° λ°μ΄ν°λ₯Ό μ°¨λ‘λλ‘ νμνλ μκ³ λ¦¬μ¦μ λλ€. 2. λμ κ³Όμ μμ°¨ νμμ κ³Όμ μ μλμ κ°μ΅λλ€. νμ΄μ¨μ 볡μ‘ν΄ λ³΄μ΄μ§λ§ 맨 μμμλΆν° μ°¨λ‘λλ‘ λΉκ΅νλ λ¨μν λ°©λ²μ λλ€. 1οΈβ£ 맨 μ λ°μ΄ν°μ μ°ΎμΌλ €λ λ°μ΄ν°κ° κ°μμ§ νμν©λλ€. 2οΈβ£ λ°μ΄ν°κ° μλ‘ κ°μ§ μλ€λ©΄ λ€μ λ°μ΄ν°μ μ°ΎμΌλ €λ λ°μ΄ν°κ° κ°μμ§ νμν©λλ€. 3οΈβ£ κ°μ λ°μ΄ν°λ₯Ό μ°ΎκΈ° μ κΉμ§ 2οΈβ£ κ³Όμ μ λ°λ³΅ν©λλ€. 리μ€νΈ λ΄ λ°μ΄ν°κ° μ무리 λ§μλ ..
λ³Έ ν¬μ€ν μμλ μ λ ¬ μκ³ λ¦¬μ¦ λ¬Έμ νμ΄ μ λ΅μ 곡μ ν©λλ€. μ λ ¬ μκ³ λ¦¬μ¦ λ¬Έμ ν΄κ²° μ λ΅ μκ³ λ¦¬μ¦ λ¬Έμ νμ΄μ μμ΄μ νΉλ³ν λ¬Έμ μμ μꡬμ¬νμ΄ μμ κ²½μ°, λ¨μν μ λ ¬μ΄ νμν μν©μμλ κΈ°λ³Έ λ΄μ₯ μ λ ¬ λΌμ΄λΈλ¬λ¦¬λ₯Ό νμ©νμλ κ²μ΄ κ°μ₯ μ’μ΅λλ€. λ€λ§, λ°μ΄ν°μ λ²μκ° νμ λμ΄ μκ³ λμ± λΉ λ₯΄κ² λμνλλ‘ λ¬Έμ λ₯Ό νμ΄μΌ νλ€λ©΄ κ³μ μ λ ¬ μκ³ λ¦¬μ¦μ νμ©νμλ κ²μ΄ μ’μ΅λλ€. μ΄μ²λΌ μλμ μ£Όμ΄μ§ μν©μ λ§λ μκ³ λ¦¬μ¦ λ¬Έμ νμ΄ μ λ΅μ μ λ¦¬ν΄ λ³΄μμ΅λλ€. (1) μ λ ¬ λΌμ΄λΈλ¬λ¦¬ νμ© λ¬Έμ λ¨μν λ΄μ₯ μ λ ¬ λΌμ΄λΈλ¬λ¦¬μ λν΄ μκ³ μκ³ μ¬μ©ν μ€ μλμ§ λ¬»κΈ° μν λ¬Έμ μ νμ λλ€. κΈ°λ³Έμ μΌλ‘ λ΄μ₯ μ λ ¬ ν¨μ μ¬μ©λ°©λ²μ λν΄ κΈ°λ³Έμ μΈ λΆλΆλ€μ λν΄ μμ§νκ³ μμΌλ©΄ μ΄λ ΅μ§ μκ² λ¬Έμ λ₯Ό ν μ μμ΅λλ€. (..
μ€λμ νμ΄μ¬ λ΄μ₯ ν¨μμΈ sorted()μ sort()λ₯Ό νμ©ν λ°μ΄ν° μ λ ¬ λ°©λ²μ λν΄ κ³΅μ ν΄ λ립λλ€. κ·ΈλΌ λ°λ‘ μμνμ£ ! λͺ©μ°¨ 1. κΈ°λ³Έ μ λ ¬ λΌμ΄λΈλ¬λ¦¬ 2. sorted ν¨μ 3. sort ν¨μ 4. key λ§€κ°λ³μλ₯Ό νμ©ν μ λ ¬ κΈ°μ€ μ€μ 5. μ λ ¬ μκ³ λ¦¬μ¦ λ¬Έμ ν΄κ²° μ λ΅ 1. κΈ°λ³Έ μ λ ¬ λΌμ΄λΈλ¬λ¦¬ νμ΄μ¬μλ sorted λ° sortλΌλ μ λ ¬ ν¨μκ° κΈ°λ³Έμ μΌλ‘ λ΄μ₯λμ΄ μμ΅λλ€. μ΄ ν¨μλ€μ 리μ€νΈ, λμ λ리, μ§ν© λ±μ λ°μ΄ν° νμ μ μ λ ₯κ°μΌλ‘ λ°κ³ , λ°μ΄ν° νμ μ μκ΄μμ΄ νμ 리μ€νΈ ννλ‘ λ°μ΄ν°λ₯Ό μ λ ¬ν κ²°κ³Όλ₯Ό λ°ννλ κ²μ΄ νΉμ§μ λλ€. λν, μ΄ ν¨μλ€μ μ΅μ μ κ²½μ°μλ O(N*log N) μ μκ° λ³΅μ‘λλ₯Ό 보μ₯νλ€λ κ²μ΄ νΉμ§μ λλ€. κ·ΈλΌ sorted ν¨μμ sort ν¨μ κ°κ°μ..
λ³Έ ν¬μ€ν μμλ κ³μ μ λ ¬ μκ³ λ¦¬μ¦μ λν΄ μμλ΄ λλ€. π λͺ©μ°¨ 1. κ³μ μ λ ¬μ΄λ? 2. κ³μ μ λ ¬μ λμ κ³Όμ 3. κ³μ μ λ ¬μ ꡬν(Python) 4. κ³μ μ λ ¬μ μκ° λ³΅μ‘λ 1. κ³μ μ λ ¬μ΄λ? κ³μ μ λ ¬μ λ°μ΄ν° κ°μκ° λ§λλΌλ λ§€μ° λΉ λ₯΄κ² λμνλ μ λ ¬ μκ³ λ¦¬μ¦ μ€ νλλ‘μ 리μ€νΈκ° λͺ¨λ μ μ ννλ‘ ννλμ΄ μκ³ κ°μ₯ μμ λ°μ΄ν°μ κ°μ₯ ν° λ°μ΄ν°μ μ°¨μ΄κ° 1λ°±λ§(1,000,000) μ΄νμΌ λ ν¨κ³Όμ μΌλ‘ λμν©λλ€. μ΄μ²λΌ νΉμ μ‘°κ±΄μ΄ λΆν©ν λλ§ λμνλ μ΄μ λ κ³μ μ λ ¬μ νμ©ν λλ κ°μ₯ μμ λ°μ΄ν°λΆν° κ°μ₯ ν° λ°μ΄ν°κΉμ§ λͺ¨λ λ²μμ λ°μ΄ν°λ₯Ό λ΄μ μ μλ ν¬κΈ°μ 리μ€νΈλ₯Ό μ μΈν΄μΌ νκΈ° λλ¬Έμ λλ€. μλ₯Ό λ€μ΄, κ°μ₯ μμ λ°μ΄ν°μ κ°μ₯ ν° λ°μ΄ν°μ μ°¨μ΄κ° 1,000,000μ΄λΌλ©΄ μ΄ ..
λ³Έ ν¬μ€ν μμλ ν΅ μ λ ¬(Quick sort) μκ³ λ¦¬μ¦μ λν΄ μλ΄ λλ€. π λͺ©μ°¨ 1. ν΅ μ λ ¬μ΄λ? 2. ν΅ μ λ ¬μ λμ κ³Όμ 3. ν΅ μ λ ¬ ꡬν(Python) 4. ν΅ μ λ ¬μ μκ° λ³΅μ‘λ 1. ν΅ μ λ ¬μ΄λ? ν΅ μ λ ¬μ νΌλ²(pivot)μ΄λΌλ κΈ°μ€ λ°μ΄ν°λ₯Ό μ€μ νκ³ κ·Έ κΈ°μ€ λ°μ΄ν°λ³΄λ€ ν° λ°μ΄ν°μ μμ λ°μ΄ν°μ μμΉλ₯Ό λ³κ²½νλ μ λ ¬ λ°©μμ λλ€. ν΅ μ λ ¬μ λ°μ΄ν° κ°μ λΉκ΅λ§μΌλ‘ μ λ ¬μ μννλ λΉκ΅ μ λ ¬ μ€ νλλ‘μ μ΄λ¦μμ μ μ μλ―μ΄ μ λ ¬μ΄ λΉ λ₯΄λ€λ νΉμ§μ΄ μμ΅λλ€. ν΅ μ λ ¬μ λ°©μμ νΌλ²μ μ€μ νκ³ λ°μ΄ν°λ₯Ό λΆν νλ λ°©λ²μ λ°λΌ μ¬λ¬ κ°μ§λ‘ ꡬλΆν μ μμ§λ§, μ΄λ² ν¬μ€ν μμλ κ°μ₯ λνμ μΈ λΆν λ°©μμΈ νΈμ΄ λΆν (Hoare Partition)μ κΈ°μ€μΌλ‘ μ€λͺ λ리λλ‘ νκ² μ΅λλ€. 2. ν΅ μ λ ¬μ..
λ³Έ ν¬μ€ν μμλ μ½μ μ λ ¬(Insertion sort) μκ³ λ¦¬μ¦μ λν΄ μμλ΄ λλ€. π λͺ©μ°¨ 1. μ½μ μ λ ¬μ΄λ? 2. μ½μ μ λ ¬μ λμ κ³Όμ 3. μ½μ μ λ ¬ ꡬν(Python) 4. μ½μ μ λ ¬μ μκ° λ³΅μ‘λ 1. μ½μ μ λ ¬μ΄λ? μ½μ μ λ ¬μ μ λ ¬μ΄ νμν λ°μ΄ν°λ₯Ό μ°Ύκ³ μ μ ν μμΉμ μ½μ νλ©° μ λ ¬νλ μκ³ λ¦¬μ¦μ λλ€. μ½μ μ λ ¬μ νμν λλ§ λ°μ΄ν°λ₯Ό λΉκ΅νκ³ μ½μ νκΈ° λλ¬Έμ λ°μ΄ν°κ° μ΄λ μ λ μ λ ¬λμ΄ μμ λ λμ± ν¨μ¨μ μΌλ‘ λμν©λλ€. μ΄λ¬ν νΉμ§ λλΆμ μ λ ¬ μνμ μκ΄μμ΄ λͺ¨λ λ°μ΄ν°λ₯Ό μΌμΌμ΄ λΉκ΅νλ©° μ λ ¬νλ λ°©μμΈ μ ν μ λ ¬λ³΄λ€ μΌλ°μ μΌλ‘ ν¨μ¨μ μ λλ€. [μκ³ λ¦¬μ¦] μ ν μ λ ¬μ λν΄ μμ보μ! (+Python ꡬν) μ€λμ μ ν μ λ ¬(selection sort) μκ³ λ¦¬μ¦μ λν΄ μμ보λλ‘ ν..
λ³Έ ν¬μ€ν μμλ μ ν μ λ ¬(selection sort) μκ³ λ¦¬μ¦μ λν΄ μμλ΄ λλ€. π λͺ©μ°¨ 1. μ ν μ λ ¬μ΄λ? 2. μ ν μ λ ¬μ λμ κ³Όμ 3. μ ν μ λ ¬ ꡬν(Python) 4. μ ν μ λ ¬μ μκ° λ³΅μ‘λ 1. μ ν μ λ ¬μ΄λ? μ ν μ λ ¬μ μ¬λ¬ κ°μ λ°μ΄ν°κ° 무μμλ‘ μμ λ μ 체 λ°μ΄ν°μμ λ§€λ² κ°μ₯ μμ(λλ κ°μ₯ ν°) λ°μ΄ν°λ₯Ό μ ννμ¬ λ°μ΄ν° κ°μ μμΉλ₯Ό λ³κ²½νλ κ³Όμ μ λ°λ³΅νμ¬ λ°μ΄ν°λ₯Ό μ€λ¦μ°¨μ(λλ λ΄λ¦Όμ°¨μ)μΌλ‘ μ λ ¬ν λ μ¬μ©ν©λλ€. μ ν μ λ ¬μ μ’ λ₯λ 2κ°μ§λ‘ λλ μ μμ΅λλ€. μ΅μ μ ν μ λ ¬(Min-selection sort): λ§€λ² κ°μ₯ μμ λ°μ΄ν°λ₯Ό μ ννκ³ λ°μ΄ν° κ°μ λ°°μΉλ₯Ό λ³κ²½νλ©° μ€λ¦μ°¨μμΌλ‘ μ λ ¬ μ΅λ μ ν μ λ ¬(Max-selection sort): λ§€λ² κ°μ₯ ν° λ°μ΄ν°λ₯Ό ..