λμ νλ‘κ·Έλλ°
볡μ‘ν μ΅μ ν λ¬Έμ λ₯Ό λ κ°λ¨ν μ€λ³΅ λΆλΆ λ¬Έμ λ‘ λλμ΄ ν΄κ²°νμΈμ. νΌλ³΄λμΉ μμ΄, μ΅μ₯ κ³΅ν΅ λΆλΆ μμ΄, λ°°λ λ¬Έμ , νλ ¬ μ°μ κ³±μ κ³Ό κ°μ κ³ μ μ μΈ λ¬Έμ λ₯Ό ν΅ν΄ λ©λͺ¨μ΄μ μ΄μ κ³Ό μν₯μ μ κ·Όλ²μ λ§μ€ν°νμΈμ. λμ νλ‘κ·Έλλ°μ΄ μ΄λ»κ² μ§μ μκ° μ루μ μ λ€ν μκ° μκ³ λ¦¬μ¦μΌλ‘ λ³ννλμ§ λ°°μ°μΈμ.
νλ ¬ μ²΄μΈ κ³±μ
Advancedνλ ¬ 체μΈμ μ΅μ κ΄νΈνλ₯Ό μ°Ύμ μ€μΉΌλΌ κ³±μ νμλ₯Ό μ΅μνν©λλ€. CLRS 15μ₯μ λνμ μΈ λμ νλ‘κ·Έλλ° λ¬Έμ μ λλ€.
νΌλ³΄λμΉ (λμ νλ‘κ·Έλλ°)
Beginnerμ€λ³΅ κ³μ°μ νΌνκΈ° μν΄ λμ νλ‘κ·Έλλ°μ μ¬μ©νμ¬ νΌλ³΄λμΉ μλ₯Ό ν¨μ¨μ μΌλ‘ κ³μ°ν©λλ€. μ§μ μκ° μ¬κ· μ루μ μ μ ν μκ° μκ³ λ¦¬μ¦μΌλ‘ λ³ννλ λ©λͺ¨μ΄μ μ΄μ μ νμ 보μ¬μ€λλ€. λμ νλ‘κ·Έλλ° κ°λ μ λν κ³ μ μ μΈ μκ°μ λλ€.
μ΅μ₯ κ³΅ν΅ λΆλΆ μμ΄ (LCS)
Intermediateλ μνμ€μ λμΌν μμλ‘ μ‘΄μ¬νλ κ°μ₯ κΈ΄ λΆλΆ μμ΄μ μ°Ύμ΅λλ€. λμ νλ‘κ·Έλλ°μ μ¬μ©νμ¬ μ루μ ν μ΄λΈμ ꡬμΆν©λλ€. DNA μμ΄ μ λ ¬, νμΌ μ°¨μ΄ λꡬ(diff), νμ κ°μ§ λ±μ μμ© νλ‘κ·Έλ¨μ΄ μμ΅λλ€.
νΈμ§ 거리 (λ λ²€μνμΈ)
Intermediateν λ¬Έμμ΄μ λ€λ₯Έ λ¬Έμμ΄λ‘ λ³ννλ λ° νμν μ΅μ λ¨μΌ λ¬Έμ νΈμ§(μ½μ , μμ , λ체) νμλ₯Ό κ³μ°νλ λμ νλ‘κ·Έλλ° μκ³ λ¦¬μ¦μ λλ€. λ§μΆ€λ² κ²μ¬, DNA μμ΄ μ λ ¬, μμ°μ΄ μ²λ¦¬μ κΈ°λ³Έμ΄ λ©λλ€.
0/1 λ°°λ λ¬Έμ
Intermediateμ£Όμ΄μ§ 무κ²μ κ°μΉλ₯Ό κ°μ§ μμ΄ν μ μ ννμ¬ λ¬΄κ² μ ν λ΄μμ μ΄ κ°μΉλ₯Ό μ΅λννλ κ³ μ μ μΈ λμ νλ‘κ·Έλλ° λ¬Έμ μ λλ€. κ° μμ΄ν μ ν λ²λ§ μ νν μ μμ΅λλ€(0/1). μμ ν λΉ, ν¬νΈν΄λ¦¬μ€ μ΅μ ν, νλ¬Ό μ μ¬ λ±μ μμ©μ΄ μμ΅λλ€.
μ΅μ₯ μ¦κ° λΆλΆ μμ΄
Intermediateλͺ¨λ μμκ° μ¦κ°νλ μμμΈ κ°μ₯ κΈ΄ λΆλΆ μμ΄μ μ°Ύμ΅λλ€. λνμ μΈ λμ νλ‘κ·Έλλ° λ¬Έμ μ λλ€.
Kadane μκ³ λ¦¬μ¦ (μ΅λ λΆλΆ λ°°μ΄)
IntermediateO(n) μκ°μ μ΅λ ν©μ κ°μ§ μ°μ λΆλΆ λ°°μ΄μ μ°Ύλ μ°μν λμ νλ‘κ·Έλλ° μκ³ λ¦¬μ¦μ λλ€. κ° λ¨κ³μμ νμ¬ λΆλΆ λ°°μ΄μ νμ₯ν μ§ μλ‘ μμν μ§λ₯Ό κ²°μ νμ¬ νμμ μ리μ DPλ₯Ό κ²°ν©ν©λλ€. μ£Όμ μμ΅ μ΅μ ν, μ νΈ μ²λ¦¬, DP μ΅μ ν κΈ°λ² μ΄ν΄μ νμμ μ λλ€.
λμ κ΅ν λ¬Έμ
Intermediateλͺ©ν κΈμ‘μ λ§λλ λ° νμν μ΅μ λμ κ°μλ₯Ό μ°Ύλ κ³ μ μ μΈ DP λ¬Έμ μ λλ€. λ μμ κΈμ‘μΌλ‘λΆν° μ루μ μ ꡬμΆνμ¬ μ΅μ λΆλΆ ꡬ쑰λ₯Ό 보μ¬μ€λλ€. νν μμ€ν , μλ νλ§€κΈ°, μμ ν λΉμ μ€μ©μ μμ©μ΄ μμ΅λλ€. λ³νμΌλ‘λ κ±°μ€λ¦λμ λ§λλ λͺ¨λ κ°λ₯ν λ°©λ²μ μλ₯Ό μΈλ κ²μ΄ μμ΅λλ€.
νλ¬Έ λΆν (μ΅μ μ»·)
Advanced2D λμ νλ‘κ·Έλλ°μ μ¬μ©νμ¬ λ¬Έμμ΄μ νλ¬ΈμΌλ‘ λΆν νλ λ° νμν μ΅μ μ»·μ μ°Ύμ΅λλ€. λ¨Όμ O(nΒ²)λ‘ νλ¬Έ ν μ΄λΈμ ꡬμΆν λ€μ μ΅μ μ»·μ κ³μ°ν©λλ€. ν μ€νΈ μ²λ¦¬, λ¬Έμμ΄ μ΅μ ν, μ¬λ¬ λ¨κ³κ° μλ 볡μ‘ν DP μμ°μ μμ©μ΄ μμ΅λλ€. λ¬Έμμ΄ μ‘°μ λ¬Έμ μμ μ΅μ λΆλΆ ꡬ쑰λ₯Ό 보μ¬μ€λλ€.
π‘ νμ΅ ν
κΈ°μ΄λ₯Ό λ€μ§κΈ° μν΄ μ΄κΈ μκ³ λ¦¬μ¦λΆν° μμν λ€μ, μ€κΈ λ° κ³ κΈ μ£Όμ λ‘ μ§ννμΈμ. κ° μκ³ λ¦¬μ¦μλ μΈν°λν°λΈ μκ°ν, 볡μ‘λ λΆμ, κ·Έλ¦¬κ³ μ¬λ¬ μΈμ΄μ μ½λ μμ κ° ν¬ν¨λμ΄ μμ΅λλ€.