μ λ ¬(Sorting)-μ νμ λ ¬, λ²λΈμ λ ¬, μ½μ μ λ ¬, λ³ν©μ λ ¬
1. μ ν μ λ ¬(Selection Sort)
λ§€ λ¨κ³μμ 'μμ§ μ²λ¦¬λμ§ μμ κ°μ₯ μμ μμλ₯Ό μ ν'ν΄μ μμΌλ‘ 보λ΄λ μ λ ¬ λ°©λ²
- μμΌλ‘ 보λ΄μ§ μμλ λ μ΄μ μμΉκ° λ³κ²½λμ§ μμ
- μ ν νμ: λ§€ λ¨κ³μμ κ°μ₯ μμ κ² μ ννλλ° μ½ Nλ²μ μ°μ° νμ
- μκ° λ³΅μ‘λ: O(N2) → λΉν¨μ¨μ
[λμλ°©μ]
1. κ° λ¨κ³μμ κ°μ₯ μμ μμλ₯Ό μ ν
2. νμ¬κΉμ§ μ²λ¦¬λμ§ μμ μμλ€ μ€ κ°μ₯ μμ μμμ μμΉ κ΅μ²΄

2. λ²λΈ μ λ ¬(Bubble Sort)
λ²λΈ: μλ‘ μΈμ ν λ μμλ₯Ό λΉκ΅νλ ννκ° κ±°νκ³Ό κ°λ€κ³ ν΄μ λΆμ¬μ§ μ΄λ¦μ΄λ€.
μΈμ ν λ μμλ₯Ό νμΈν΄μ μ λ ¬μ΄ μλμ΄ μλ€λ©΄ μμΉλ₯Ό μλ‘ λ³κ²½
→ κ° λ¨κ³λ₯Ό κ±°μΉ λλ§λ€ κ°μ₯ ν° κ°μ νλμ© νμ€νκ² κ²°μ ν¨!(μ¦, μ€λ₯Έμͺ½λΆν° μ°¨λ‘λλ‘ μ λ ¬λ¨)
[λμ λ°©μ]
1. 첫 λ²μ§Έ μΈλ±μ€ μμμ λ λ²μ§Έ μΈλ±μ€ μμ λΉκ΅
2. λ λ²μ§Έ μΈλ±μ€ μμμ μΈ λ²μ§Έ μΈλ±μ€ μμ λΉκ΅
...
→ ν λ²μ λ¨κ³κ° μνλλ©΄, κ°μ₯ ν° μμκ° λ§¨ λ€λ‘ μ΄λνλ€.(κ·Έ λ€μ λ¨κ³μμλ 맨 λ€λ‘ μ΄λν λ°μ΄ν°λ μ λ ¬μμ μ μΈν¨)

3. μ½μ μ λ ¬(Insertion Sort)
κ° μ«μλ₯Ό μ μ ν μμΉμ μ½μ νλ μ λ ¬ κΈ°λ²
- μκ°λ³΅μ‘λ
- μ΅μ μ κ²½μ°: O(N)
- μ΅μ μ κ²½μ°: O(N2) → λΉν¨μ¨μ
- μ΄λ―Έ μ λ ¬λμ΄ μλ κ²½μ°λ λΉ λ₯΄κ² μν κ°λ₯(μ ν, λ²λΈκ³Ό λ¬λ¦¬ μλκ° λΉ λ¦)
[λμ λ°©μ]
1. κ° λ¨κ³μμ νμ¬ μμκ° μ½μ λ μμΉλ₯Ό μ°Ύμ
2. μ μ ν μμΉμ λλ¬ν λκΉμ§ λ°λ³΅μ μΌλ‘ μΌμͺ½μΌλ‘ μ΄λ
οΉ‘μ½μ μ λ ¬ μ²μμ 첫 λ²μ§Έ μμλ₯Ό μ λ ¬μ΄ λμ΄μλ€κ³ κ°μ

4. λ³ν©(=ν©λ³) μ λ ¬
μ νμ μΈ λΆν μ 볡(divide and conquer) μκ³ λ¦¬μ¦ μ€ νλ
- λΉ λ₯Έ μ λ ¬ μκ³ λ¦¬μ¦ μ€ νλ
- λΆν (divide): ν° λ¬Έμ λ₯Ό μμ λΆλΆ λ¬Έμ (μ¬μ΄ λ¬Έμ )λ‘ λΆν
- μ 볡(conquer): μμ λΆλΆ λ¬Έμ λ₯Ό κ°κ° ν΄κ²°
- μ‘°ν©(combine): ν΄κ²°ν λΆλΆ λ¬Έμ μ λ΅μ μ΄μ©ν΄μ λ€μ ν° λ¬Έμ λ₯Ό ν΄κ²°
- ν° λ¬Έμ μͺΌκ°κΈ° → μμ λ¬Έμ κ°κ° ν΄κ²° → λ€μ ν©μ³ ν° λ¬Έμ ν΄κ²°
- μ¬κ·ν¨μ μ΄μ©ν΄μ ꡬν(λ μ΄μ μͺΌκ°€ μ μλ ν¬κΈ°κ° λ λκΉμ§ κ³μν΄μ λΆν )
→ μ΄λ΄ κ²½μ° μ€λ² ν€λ(overhead)λ‘ μ΄μ΄μ Έ λ©λͺ¨λ¦¬ μλͺ¨κ° νΌ - μκ° λ³΅μ‘λ: O(NlogN)
- μ§κ΄μ μΌλ‘ μκ°νμ λ, λμ΄κ° O(logN)μ΄κ³ , λλΉκ° O(N)μΈ μ μ¬κ°νκ³Ό μ μ¬
- μ₯μ : μ΅μ μ κ²½μ°μλ O(NlogN)μ 보μ₯ν μ μμ
- λ¨μ : μΌλ°μ μΈ κ²½μ°, μ 볡 κ³Όμ μμ μμ λ°°μ΄ νμ
[λμ λ°©μ]

1. λΆν : μ λ ¬ν λ°°μ΄(ν° λ¬Έμ )μ κ°μ ν¬κΈ°μ λΆλΆ λ°°μ΄(μμ λ¬Έμ )2κ°λ‘ λΆν → λ¨μν λ°°μ΄μ ν¬κΈ°λ₯Ό μ λ°μΌλ‘ μͺΌκ°λ κ²
2. μ 볡: λΆλΆ λ°°μ΄μ μ λ ¬ → μμ λ¬Έμ ν΄κ²°(λ κ°μ λΆλΆ λ°°μ΄μ 'μ λ ¬λ νλμ λ°°μ΄'λ‘ λ§λ λ€)
μ 볡 μμ΄λμ΄
- κ° λΆλΆ λ°°μ΄μ μ΄λ―Έ μ λ ¬λ μνλ‘ λ΄
- κ° λΆλΆ λ°°μ΄μ λν΄ μ²«λ²μ§Έ μμλΆν° μμν΄μ νλμ© νμΈ
- μ΄ μμμ κ°μκ° Nκ°μΌ λ, O(N)μ μκ° λ³΅μ‘λκ° μꡬλ¨
3. μ‘°ν©: μ λ ¬λ λΆλΆ λ°°μ΄μ νλμ λ°°μ΄λ‘ λ€μ λ³ν©