κ·Έλν(Graph)
κ·Έλνλ λ Έλμ κ°μ μ μ§ν©μΌλ‘ μ΄λ£¨μ΄μ§ μλ£κ΅¬μ‘°μ΄λ€.
κ°μ²΄ κ°μ κ΄κ³λ₯Ό μ μΌλ‘ μ°κ²°νμ¬ νννλ ννλ‘, κ° μ μ κ°μλ λΆλͺ¨-μμ κ΄κ³κ° μλ€.
λλΉ μ°μ νμ(BFS), κΉμ΄ μ°μ νμ(DFS) μκ³ λ¦¬μ¦μμ κ·Έλνλ₯Ό μννλ λ°©μμμ μ¬μ©νλ€.
κ·Έλνμμ μ¬μ©νλ μ©μ΄
- λ Έλ/μ μ (Vertex): λ°μ΄ν°κ° μ μ₯λλ κΈ°λ³Έ κ°μ²΄
- κ°μ (Edge): μ μ μ μ°κ²°νλ μ
- μΈμ μ μ : κ°μ μ μν΄ μ§μ μ°κ²°λ λ Έλλ‘, ν μ μ μμ κ°μ μ ν λ²μ κ° μ μλ€λ©΄ ν΄λΉ μ μ λ€μ μΈμ νλ€κ³ ν μ μλ€.
- λ¨μ κ²½λ‘: κ²½λ‘ μ€μμ λ°λ³΅λλ μ μ μ΄ μλ κ²½μ°
κ·Έλν μ’ λ₯
무방ν₯ κ·Έλν
λͺ¨λ κ°μ μ΄ μλ°©ν₯μΈ κ·Έλνλ‘, λ°©ν₯μ΄ μκΈ° λλ¬Έμ μμͺ½μ λ°©ν₯ λͺ¨λ μ΄λμ΄ κ°λ₯νλ€.
λ°©ν₯ κ·Έλν
κ°μ λ€μ λ°©ν₯μ΄ μ‘΄μ¬νλ κ·Έλνλ‘, λ°©ν₯μ λνλ΄λ νμ΄νλ‘ νμνκ³ κ·Έ λ°©ν₯μΌλ‘λ§ μ΄λ κ°λ₯νλ€.
κ°μ€μΉ κ·Έλν
κ°κ°μ κ°μ μ΄ κ°μ€μΉλ₯Ό κ°μ§ κ·Έλνλ‘, λ Έλλ₯Ό μ΄λν λ λλ λΉμ© λ± μΆκ°μ μΈ μ 보λ₯Ό κ°μ§ κ·Έλνλ₯Ό μλ―Ένλ€.
μμ κ·Έλν
λͺ¨λ μ μ λ€μ΄ μΈμ ν κ·Έλνλ‘, κ·Έλνμ μν΄ μλ λͺ¨λ μ μ μ΄ μλ‘ μ°κ²°λμ΄ μμμ μλ―Ένλ€.
Nκ°μ μ μ μ΄ μλ€λ©΄ λͺ¨λ μ μ μ N-1κ°μ κ°μ μ κ°μ§λ€.
μ°κ²° κ·Έλν
무방ν₯ κ·Έλνμμ νμ κ²½λ‘κ° μ‘΄μ¬νλ κ²½μ°λ₯Ό λ§νλ©°, λͺ¨λ λ Έλκ° μ°κ²°λ κ·Έλνλ₯Ό μλ―Ένλ€.
λΉμ°κ²° κ·Έλν
무방ν₯ κ·Έλνμμ νΉμ λ Έλμ λ Έλ μ¬μ΄μ κ²½λ‘κ° μ‘΄μ¬νμ§ μλ κ²½μ°λ₯Ό λ§νλ©°, λͺ¨λ λ Έλκ° μ°κ²°λμ΄ μμ§ μμ κ·Έλνλ₯Ό μλ―Ένλ€.
μ¬μ΄ν΄
λ¨μ κ²½λ‘μ μμ λ Έλμ μ’ λ£ λ Έλκ° λμΌν κ²½μ°λ₯Ό μλ―Ένλ€.
λΉμν κ·Έλν
μ¬μ΄ν΄μ΄ μλ κ·Έλνλ₯Ό μλ―Ένλ€.
κ·Έλνλ₯Ό νννλ λ°©λ²
μΈμ νλ ¬
- 2μ°¨μ λ°°μ΄λ‘ μ μ κ³Ό κ°μ μ νννλ λ°©μ
- λ λ Έλλ₯Ό μ°κ²°νλ κ°μ μ΄ μμΌλ©΄ 1, μμΌλ©΄ 0μΌλ‘ νμ
- 2μ°¨μ λ°°μ΄ μμ λͺ¨λ λ Έλμ κ°μ μ 보λ₯Ό λ΄κΈ° λλ¬Έμ λ λ Έλμ λν μ°κ²° μ 보λ₯Ό μ‘°νν λ O(1)μ μκ° λ³΅μ‘λ μμ
- κ°μ μ 보λ₯Ό μ½μ ν λ O(n^2)μ μκ° λ³΅μ‘λ μμ
- μΈμ 리μ€νΈμ λΉν΄ λ λ§μ λ©λͺ¨λ¦¬ κ³΅κ° νμ
μΈμ 리μ€νΈ
- κ° μ μ μ 리μ€νΈλ ν€λ λ Έλλ₯Ό κ°μ§κ³ , ν€λ λ Έλμ κ³μ μ μ μ μ°κ²°νλ λ°©μ
- νμν μ λ³΄λ§ μ μ₯νλ―λ‘ λ©λͺ¨λ¦¬ μ μ½
- λ Έλμ κ°μ μ 보λ₯Ό νμν λ O(n)μ μκ° λ³΅μ‘λ μμ
- μΈμ νλ ¬μ λΉν΄ ꡬνν λΉκ΅μ μ΄λ €μ
κ·Έλνμ νΈλ¦¬μ μ°¨μ΄
κ΅¬λΆ | κ·Έλν | νΈλ¦¬ |
μ μ | λ Έλμ κ°μ μ μ‘°ν©μΌλ‘ μ΄λ£¨μ΄μ§ μλ£κ΅¬μ‘° | κ·Έλνμ ν μ’
λ₯λ‘, λ°©ν₯μ±μ΄ μλ λΉμν κ·Έλν |
λ°©ν₯μ± | λ°©ν₯ κ·Έλν, 무방ν₯ κ·Έλν |
λ°©ν₯ κ·Έλν |
μ¬μ΄ν΄ | κ°λ₯ | λΆκ°λ₯ |
λ£¨νΈ λ Έλ | μ‘΄μ¬νμ§ μμ | ν κ°μ λ£¨νΈ λ Έλλ§ μ‘΄μ¬ν¨ |
λΆλͺ¨-μμ κ΄κ³ | μ‘΄μ¬νμ§ μμ | μ‘΄μ¬ν¨ |