15-1κ°. μ΅μλΉμ©μ μ₯νΈλ¦¬(Minimum spanning tree)
μ΅μλΉμ©μ μ₯νΈλ¦¬ (Minimum Spanning Tree)
- μ λ ₯ : n κ°μ λμ, λμμ λμλ₯Ό μ°κ²°νλ λλ‘ λΉμ©
- λ¬Έμ : μ΅μμ λΉμ©μΌλ‘ λͺ¨λ λμλ€μ΄ μλ‘ μ°κ²°λκ² νλ€.
ν΄κ° μ μΌνμ§λ μλ€..
μ) (b, c) λμ μ (a, h)κ° λμ΄λ λλ€.
-> λΉμ©μ΄ κ°κ³ , λ€ μ°κ²°λκΈ° λλ¬Έμ΄λ€.
* μ΅μλΉμ©μ μ₯νΈλ¦¬μ λ΅μ νμ νΈλ¦¬κ° λλ€. μ?
(νΈλ¦¬ : μΈμ΄ν΄μ΄ μλ μ°κ²°λ(connected) 무방ν₯ κ·Έλν)
: cycleμ΄ μλ€λ λ§μ μ΄μͺ½ λ°©ν₯μΌλ‘ κ°λ μ μͺ½ λ°©ν₯μΌλ‘ κ°λ λλλ°, μ΄ κ²½μ° ν μͺ½μ κΈΈμ΄ λμ΄μ Έλ λ°λ λ°©ν₯μΌλ‘ κ° μ μκ² λλ€. λ°λΌμ μ°λ¦¬λ μ΅μλΉμ©μ μνλ―λ‘ cycleμ΄ μλ κ·Έλνλ μ΄ κ²½μ°μμ μ μΈνλ€.
- μ΄λ€ MST(Minimun Spanning Tree)μ λΆλΆμ§ν© Aμ λν΄μ A∪{(u, v)}λ μμ μ΄λ€ MSTμ λΆλΆμ§ν©μ΄ λ κ²½μ°, μμ§ (u, v)λ Aμ λν΄μ μμ νλ€(safe)κ³ νλ€.
- Generic MST μκ³ λ¦¬μ¦ :
1. μ²μμλ A=øμ΄λ€.
2. μ§ν© Aμ λν΄μ μμ ν μμ§λ₯Ό νλ μ°Ύμ ν μ΄κ²μ Aμ λνλ€.
3. μμ§μ κ°μκ° n-1κ°κ° λ λκΉμ§ 2λ²μ λ°λ³΅νλ€.
Generic-MST(G, w)
{
A <-ø
while A does not form a spanning tree
do find an edge (u, v) that is safe for A
A <- A∪{(u, v)}
return A
}
* μμ ν μμ§ μ°ΎκΈ°
- κ·Έλνμ μ μ λ€μ λ κ°μ μ§ν© Sμ V-Sλ‘ λΆν ν κ²μ μ»·(cut) (S, V-S)λΌκ³ λΆλ₯Έλ€.
- μμ§ (u, v)μ λν΄μ uκ° Sμ μνκ³ , vκ° V-Sμ μν λ, μμ§ (u, v)λ μ»· (S, V-S)λ₯Ό crossνλ€κ³ λ§νλ€.
- μμ§λ€μ λΆλΆμ§ν© Aμ μν μ΄λ€ μμ§λ μ»· (S, V-S)λ₯Ό crossνμ§ μμ λ, μ»·(S, V-S)λ Aλ₯Ό μ‘΄μ€νλ€(respect)κ³ λ§νλ€.
μ 리 : Aκ° μ΄λ€ MSTμ λΆλΆμ§ν©μ΄κ³ , (S, V-S)λ Aλ₯Ό μ‘΄μ€νλ μ»·μ΄λΌκ³ νμ. μ΄ μ»·μ crossνλ μμ§λ€ μ€ κ°μ κ°μ€μΉκ° μμ μμ§ (u, v)λ Aμ λν΄μ μμ νλ€.
μ리ν νλ‘κ·Έλλ°μ μν μκ³ λ¦¬μ¦ κ°μ’ - μΈνλ°
μ리νκ² νλ‘κ·Έλλ°μ ν μ μκΈ° μν κΈ°λ³Έ μμμΈ 'μκ³ λ¦¬μ¦' μ λ°°μ°κ³ μμ©νλ λ°©λ²μ λ°°μλλ€. μ΄κΈ μκ³ λ¦¬μ¦ μκ³ λ¦¬μ¦ μ¨λΌμΈ κ°μ νλ‘κ·Έλλ°μ μν μκ³ λ¦¬μ¦ κ°μ’
www.inflearn.com