κ·Έλν μκ³ λ¦¬μ¦
μ°κ²°λ λ°μ΄ν° ꡬ쑰μμ 볡μ‘ν λ¬Έμ λ₯Ό ν΄κ²°νλ μκ³ λ¦¬μ¦μ νμνμΈμ. BFSμ DFSλ‘ κ·Έλν μνλ₯Ό λ§μ€ν°νκ³ , λ€μ΅μ€νΈλΌμ 벨λ§-ν¬λ μκ³ λ¦¬μ¦μΌλ‘ μ΅λ¨ κ²½λ‘λ₯Ό μ°ΎμΌλ©°, ν¬λ£¨μ€μΉΌκ³Ό νλ¦Ό μκ³ λ¦¬μ¦μΌλ‘ μ΅μ μ μ₯ νΈλ¦¬λ₯Ό κ³μ°νμΈμ. GPS λ΄λΉκ²μ΄μ , μμ λ€νΈμν¬, λ€νΈμν¬ λΌμ°ν κ³Ό κ°μ μ€μ λ¬Έμ μ μ΄λ¬ν κ°λ μ μ μ©νμΈμ.
λλΉ μ°μ νμ (BFS)
Intermediateκ·Έλνλ₯Ό λ 벨λ³λ‘ νμνμ¬ λ κΉμ΄ λ€μ΄κ°κΈ° μ μ νμ¬ κΉμ΄μ λͺ¨λ μ μ μ λ°©λ¬Έν©λλ€. νλ₯Ό μ¬μ©νλ©° κ°μ€μΉκ° μλ κ·Έλνμμ μ΅λ¨ κ²½λ‘λ₯Ό μ°Ύλ λ° μ΄μμ μ λλ€. λ―Έλ‘ ν΄κ²°, μμ λ€νΈμν¬ λΆμ, λ Έλ κ° μ°κ²° μ°ΎκΈ° λ±μ μμ© νλ‘κ·Έλ¨μ΄ μμ΅λλ€.
κΉμ΄ μ°μ νμ (DFS)
IntermediateμμΆμ νκΈ° μ μ κ° κ²½λ‘λ₯Ό λ°λΌ κ°λ₯ν ν κΉμ΄ λ€μ΄κ°μ κ·Έλνλ₯Ό νμν©λλ€. μ€νμ΄λ μ¬κ·λ₯Ό μ¬μ©νμ¬ κ΅¬νλμ΄ μ¬κ·μ λ¬Έμ μ μμ°μ€λ½μ΅λλ€. κ²½λ‘ μ°ΎκΈ°, μν κ°μ§, μμ μ λ ¬, λ―Έλ‘ μμ±μ μ¬μ©λ©λλ€.
λ€μ΅μ€νΈλΌ μκ³ λ¦¬μ¦
Advancedκ°μ€μΉκ° μλ κ·Έλνμμ λ¨μΌ μμ€ μ μ μμ λ€λ₯Έ λͺ¨λ μ μ κΉμ§μ μ΅λ¨ κ²½λ‘λ₯Ό μ°Ύμ΅λλ€. GPS λ΄λΉκ²μ΄μ μμ€ν κ³Ό λ€νΈμν¬ λΌμ°ν νλ‘ν μ½μ μ§μν©λλ€. μ°μ μμ νλ₯Ό μ¬μ©νλ νμμ μ κ·Όλ²μΌλ‘ μμκ° μλ κ°μ€μΉμ ν¨μ¨μ μΌλ‘ μλν©λλ€.
A* νμ μκ³ λ¦¬μ¦
Advancedν΄λ¦¬μ€ν±μ μ¬μ©νμ¬ μ΅λ¨ κ²½λ‘λ₯Ό μ°Ύλ μ΅μ μ°μ νμ μκ³ λ¦¬μ¦μ λλ€. f(n) = g(n) + h(n)μ μ¬μ©νμ¬ λ€μ΅μ€νΈλΌ μκ³ λ¦¬μ¦κ³Ό νμμ μ΅μ μ°μ νμμ κ²°ν©ν©λλ€. κ²μ, λ‘λ΄ κ³΅ν, GPS λ΄λΉκ²μ΄μ μ ν¨μ¨μ μΈ κ²½λ‘ νμμ λ리 μ¬μ©λ©λλ€.
ν¬λ£¨μ€μΉΌ μκ³ λ¦¬μ¦
Advancedκ°μ€μΉ 무방ν₯ κ·Έλνμ μ΅μ μ μ₯ νΈλ¦¬(MST)λ₯Ό μ°Ύλ μκ³ λ¦¬μ¦μ λλ€. κ°μ μ κ°μ€μΉ μμΌλ‘ μ λ ¬νκ³ μ¬μ΄ν΄μ νμ±νμ§ μλ κ°μ λ§ μΆκ°νλ νμμ μ κ·Όλ²μ μ¬μ©ν©λλ€. ν¨μ¨μ μΈ μ¬μ΄ν΄ κ°μ§λ₯Ό μν΄ Union-Findλ₯Ό μ¬μ©ν©λλ€. λ€νΈμν¬ μ€κ³μ ν΄λ¬μ€ν°λ§μ νμμ μ λλ€.
νλ¦Ό μκ³ λ¦¬μ¦
Intermediateμμ μ μ μμ νΈλ¦¬λ₯Ό μ±μ₯μμΌ μ΅μ μ μ₯ νΈλ¦¬(MST)λ₯Ό μ°Ύλ μκ³ λ¦¬μ¦μ λλ€. νμ νΈλ¦¬ λ΄λΆ μ μ κ³Ό μΈλΆ μ μ μ μ°κ²°νλ μ΅μ κ°μ€μΉ κ°μ μ μΆκ°ν©λλ€. ν¨μ¨μ μΈ κ°μ μ νμ μν΄ μ°μ μμ νλ₯Ό μ¬μ©ν©λλ€. λ°μ§ κ·Έλνμ μ΄μμ μ λλ€.
μμ μ λ ¬
Intermediateλ°©ν₯ λΉμν κ·Έλν(DAG)μ μ μ μ λͺ¨λ κ°μ uβvμ λν΄ uκ° vλ³΄λ€ μμ μ€λλ‘ μ λ ¬ν©λλ€. DFS κΈ°λ° μ κ·Όλ²μ μ¬μ©ν©λλ€. μμ‘΄μ± ν΄κ²°, λΉλ μμ€ν , κ³Όλͺ© μκ° μμ κ²°μ μ νμμ μ λλ€.
νμ΄μ§λν¬
Advancedλ§ν¬ κ΅¬μ‘°λ‘ μΉ νμ΄μ§ μμλ₯Ό λ§€κΈ°λ ꡬκΈμ μκ³ λ¦¬μ¦μ λλ€. λ°λ³΅μ μΌλ‘ μ€μλ μ μλ₯Ό κ³μ°ν©λλ€.
κ·Έλν μν κ°μ§
Intermediateμ¬κ· μ€νμ μ¬μ©ν DFSλ‘ λ°©ν₯ κ·Έλνμ μνμ κ°μ§ν©λλ€. μ΄μ 체μ μ μν μμ‘΄μ± μλ³, κ΅μ°© μν κ°μ§, μμ μ λ ¬μ μν DAG κ²μ¦μ μ€μν©λλ€. μν μ€ μ μ μνλ₯Ό μΆμ νκΈ° μν΄ 3μ νμ(ν°μ-νμ-κ²μ μ)λ₯Ό μ¬μ©ν©λλ€.
벨λ§-ν¬λ μκ³ λ¦¬μ¦
Advancedμμ κ°μ€μΉλ₯Ό μ²λ¦¬νκ³ μμ μνμ κ°μ§νλ λ¨μΌ μμ€ μ΅λ¨ κ²½λ‘ μκ³ λ¦¬μ¦μ λλ€. λͺ¨λ κ°μ μ V-1λ² μννμ¬ μμ κ°μ€μΉμλ μ νν 거리λ₯Ό 보μ₯ν©λλ€. ν΅ν μ°¨μ΅ κ±°λ κ°μ§, λ€μν λΉμ©μ λ€νΈμν¬ λΌμ°ν , λ€μ΅μ€νΈλΌ μκ³ λ¦¬μ¦μ΄ μ€ν¨νλ μν©μ νμμ μ λλ€. μλλ₯Ό μ μ°μ±κ³Ό κ΅νν©λλ€.
νλ‘μ΄λ-μμ μκ³ λ¦¬μ¦
Advancedλμ νλ‘κ·Έλλ°μ μ¬μ©νμ¬ λͺ¨λ μ μ μ κ°μ μ΅λ¨ κ²½λ‘λ₯Ό μ°Ύλ λͺ¨λ μ μ΅λ¨ κ²½λ‘ μκ³ λ¦¬μ¦μ λλ€. O(VΒ³) 볡μ‘λλ‘ λͺ¨λ μ μ μ μ€κ° μ§μ μΌλ‘ κ³ λ €ν©λλ€. λ°μ§ κ·Έλν, μΆμ΄μ νμ κ³μ°, κ·Έλν μ§λ¦ μ°ΎκΈ°μ νμμ μ λλ€. λ€νΈμν¬ λΆμμμ κΉμ μμ©μ κ°μ§ κ°λ¨ν ꡬνμ λλ€.
ν¬λ£¨μ€μΉΌ μ΅μ μ μ₯ νΈλ¦¬
IntermediateUnion-Find μλ£ κ΅¬μ‘°λ₯Ό μ¬μ©νμ¬ κ°μ μ μ λ ¬νκ³ μνμ λ§λ€μ§ μμΌλ©΄ μΆκ°νμ¬ MSTλ₯Ό μ°Ύλ νμ μκ³ λ¦¬μ¦μ λλ€. O(E log E) 볡μ‘λλ‘ ν¬μ κ·Έλνμ μ΅μ μ λλ€. λ€νΈμν¬ μ€κ³(λͺ¨λ λ Έλλ₯Ό μ°κ²°νλ μ΅μ λΉμ©), ν΄λ¬μ€ν°λ§ μκ³ λ¦¬μ¦, νλ‘ μ€κ³μ μμ©μ΄ μμ΅λλ€. μ λ ¬κ³Ό Union-Findμ μ°μν ν΅ν©μ 보μ¬μ€λλ€.
νλ¦Ό μ΅μ μ μ₯ νΈλ¦¬
IntermediateMSTλ₯Ό MSTκ° μλ μ μ μ μ°κ²°νλ μ΅μ κ°μ€μΉ κ°μ μ μΆκ°νμ¬ ν λ²μ ν μ μ μ© MSTλ₯Ό μ±μ₯μν€λ νμ μκ³ λ¦¬μ¦μ λλ€. O(E log V) 볡μ‘λλ₯Ό μν΄ μ°μ μμ νλ₯Ό μ¬μ©νλ©° λ°μ§ κ·Έλνμ μ΅μ μ λλ€. μΈμ νλ ¬μ λν΄ ν¬λ£¨μ€μΉΌλ³΄λ€ ꡬνμ΄ λ κ°λ¨ν©λλ€. λ€νΈμν¬ μ€κ³, κ·Όμ¬ μκ³ λ¦¬μ¦, νμμ μ ν μ΄ν΄μ μμ©μ΄ μμ΅λλ€.
π‘ νμ΅ ν
κΈ°μ΄λ₯Ό λ€μ§κΈ° μν΄ μ΄κΈ μκ³ λ¦¬μ¦λΆν° μμν λ€μ, μ€κΈ λ° κ³ κΈ μ£Όμ λ‘ μ§ννμΈμ. κ° μκ³ λ¦¬μ¦μλ μΈν°λν°λΈ μκ°ν, 볡μ‘λ λΆμ, κ·Έλ¦¬κ³ μ¬λ¬ μΈμ΄μ μ½λ μμ κ° ν¬ν¨λμ΄ μμ΅λλ€.