μκ° λ³΅μ‘λ & κ³΅κ° λ³΅μ‘λ
μκ³ λ¦¬μ¦μ 볡μ‘λλ μκ° λ³΅μ‘λμ κ³΅κ° λ³΅μ‘λλ‘ λλλ€.
μ΅κ·Όμλ νλμ¨μ΄ λ©λͺ¨λ¦¬ μ©λμ΄ μ»€μ‘κΈ° λλ¬Έμ, μκ³ λ¦¬μ¦ μ±λ₯ μΈ‘μ μμλ μκ° λ³΅μ‘λκ° μ’ λ μ°μ μλλ€.
1. μκ° λ³΅μ‘λ
- μκ³ λ¦¬μ¦μ νμν λ¨κ³ μλ§ κ³ λ €νλ€.
- λ°μ΄ν°κ° μ¦κ°ν μλ‘ λ¨κ³ μκ° μ΄λ»κ² λ³νλμ§λ₯Ό λ§ν΄μ€λ€.
2. 곡κ°λ³΅μ‘λ
- νλ‘κ·Έλ¨μ μ€νμμΌ°μ λ νμλ‘ νλ μμ 곡κ°μ μμ΄λ€.
- μ μ μΌλ‘ μ μΈλ λ³μ, μ¬κ·ν¨μμ κ°μ΄ λμ μΌλ‘ 곡κ°μ κ³μν΄μ νμλ‘ νλ κ²½μ°λ ν¬ν¨νλ€.
λΉ μ€ νκΈ°λ²
- μλ£κ΅¬μ‘°μ μκ³ λ¦¬μ¦μ ν¨μ¨μ±μ κ°κ²°νκ³ μΌκ΄λ μΈμ΄λ‘ μ€λͺ νκΈ° μν΄ λ±μ₯νλ€.
- μ λμ μΈ μ€ν μκ°κ³Ό νμν μμ 곡κ°μ μμ νμ νκΈ°λ μ΄λ €μ°λ―λ‘, λΉ μ€ νκΈ°λ²μΌλ‘ μκ³ λ¦¬μ¦μ ν¨μ¨μ±μ μ λνν μ μλ€.
- μ λ ₯ ν¬κΈ° Nμ λ°λΌ μ°μ°μ΄ λͺ λ² μ€νλλμ§λ₯Ό νκΈ°νλ κ²μ΄λ€.
1. λΉ μ€ νκΈ°λ²μ : νΉμ§
- μκ° λ³΅μ‘λμ λ―Έλ―Έν μν₯μ μ£Όλ μμλ νκΈ°νμ§ μλλ€. (λ°μ΄ν°κ° 무μν 컀μ§μλ‘ λ¬΄μλ―Έν μμμ΄κΈ° λλ¬Έμ΄λ€.)
- μμν 무μ
- κ³μ 무μ
- μ΅κ³ μ°¨νλ§ νκΈ°
- μΌλ°μ μΌλ‘ μ΅μ
μ μλ리μ€λ₯Ό κΈ°μ€μΌλ‘ λ§νλ€.
- μ΅μ μ μλ리μ€μμ μκ³ λ¦¬μ¦μ΄ μΌλ§λ λΉν¨μ¨μ μΈμ§ μλ©΄, μ΅μ μ λλΉν¨κ³Ό λμμ μκ³ λ¦¬μ¦ μ νμ μ€μν μν₯μ λ―ΈμΉ μ μλ€.
- κ·Έλ¬λ λλΆλΆμ κ²½μ° νκ· μ μΈ μλ리μ€κ° λ°μνκΈ΄ νλ€.
- μλ‘ λ€λ₯Έ λΆλ₯μ μνλ λ μκ³ λ¦¬μ¦μ΄λΌλ©΄ μ΄λ€ μκ³ λ¦¬μ¦μ μ¨μΌ ν μ§ λμ²΄λ‘ μ μ μλ€.
- κ°μ λΆλ₯μ μνλ λ μκ³ λ¦¬μ¦μ΄λΌλ©΄ μ΄λ€ κ² λ λΉ λ₯Έμ§ μκΈ° μν΄ μΆκ°μ μΈ λΆμμ΄ νμνλ€.
2. λΉ μ€ νκΈ°λ² : μ’ λ₯
μμ μκ° O(1)
- μκ³ λ¦¬μ¦μ νμν λ¨κ³ μκ° νμ μΌμ νλ€.
e.g. λ°°μ΄ λμ μ½μ , μμ λ±
μ ν μκ° O(N)
- λ°μ΄ν°κ° νλμ© μΆκ°λ λλ§λ€ μκ³ λ¦¬μ¦μ΄ ν λ¨κ³μ© λ κ±Έλ¦°λ€.
- λ°μ΄ν°μ μ(N)κ° μ¦κ°ν¨μ λ°λΌ μ€νμκ°λ μ νμ μΌλ‘ μ¦κ°νλ€.
e.g. λ°°μ΄ μννλ©΄μ κ²μ λ±
λ‘κ·Έ μκ° O(log N)
- λ°μ΄ν°κ° λ λ°°λ‘ μ¦κ°ν λλ§λ€ ν λ¨κ³μ© λμ΄λλ€.
- μ°μ°μ΄ ν λ² μ€νλ λλ§λ€ λ°μ΄ν°μ ν¬κΈ°κ° μ λ°μΌλ‘ κ°μνλ€λ μλ―Έλ€.
e.g. μ΄μ§ νμ λ±
(μ°Έκ³ λ‘ μ»΄ν¨ν° κ³Όνμμ μλ΅λ λ‘κ·Έμ λ°μ 2μ΄λ€.)
μ΄μ°¨ μκ° O(NΒ²)
- λ°μ΄ν°κ° Nκ°μΌ λ NΒ² λ¨κ³κ° κ±Έλ¦°λ€.
- λ°μ΄ν°κ° μ¦κ°νλ©΄ λ¨κ³ μκ° κΈκ²©ν λμ΄λλ―λ‘ λΉκ΅μ λΉν¨μ¨μ μΈ μκ³ λ¦¬μ¦μΌλ‘ κ°μ£Όλλ€.
e.g. λ²λΈ μ λ ¬, μ ν μ λ ¬, μ½μ μ λ ¬ λ±
μ ν λ‘κ·Έ μκ° O(N log N)
- O(N)μ μκ³ λ¦¬μ¦κ³Ό O(log N)μ μκ³ λ¦¬μ¦μ΄ μ€μ²©λ μνλ₯Ό μλ―Ένλ€.
e.g. ν΅ μ λ ¬, λ³ν© μ λ ¬, ν μ λ ¬ λ± - ν΅ μ λ ¬μ ν¨μ¨μ±μ΄ O(N log N)μΈ μ΄μ
- λ°μ΄ν°λ₯Ό λΆν νλ νμλ log Nμ΄λ―λ‘ O(log N)μ΄λ€.
- κ° λΆν λ¨κ³μμ pivotκ³Όμ λΉκ΅μ κ΅ν νμλ₯Ό κ³μ°νλ©΄ O(N)μ΄λ€.
n + n/2 + n/4 + n/8 + ... - μ΅μ μ μλ리μ€(λ°μ΄ν°κ° μ€λ¦μ°¨μ λλ λ΄λ¦Όμ°¨μμΌλ‘ νμͺ½μΌλ‘ μ λ €μ λΆκ· ννκ² λΆν λλ κ²½μ°)μμλ O(NΒ²)μ΄ λ μ μλ€.
3. λΉ μ€ νκΈ°λ² : ν¨μ¨μ± λΉκ΅
O(1) < O(log N) < O(N) < O(N log N) < O(NΒ²)

μ°Έκ³
βλꡬλ μλ£κ΅¬μ‘°μ μκ³ λ¦¬μ¦β - μ μ΄ μ¬κ·Έλ‘μ°
βλ©΄μ μ μν CS μ 곡μ§μλ ΈνΈβ - μ£Όνμ²
'CS > μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Boyer-Moore κ³Όλ°μ ν¬ν μκ³ λ¦¬μ¦ (0) | 2024.08.29 |
---|