λ Έλμ κ·Έ λ Έλλ₯Ό μ°κ²°νλ κ°μ μ νλλ‘ λͺ¨μ λμ μλ£κ΅¬μ‘°.
μ°κ²°λμ΄ μλ κ°μ²΄κ°μ κ΄κ³λ₯Ό ννν μ μλ μλ£κ΅¬μ‘°.
κ·Έλν(Graph) μ©μ΄
- μ μ (vertex):
- μμΉλΌλ κ°λ . (node λΌκ³ λ λΆλ¦)
- κ°μ (edge):
- μμΉ κ°μ κ΄κ³. μ¦, λ Έλλ₯Ό μ°κ²°νλ μ (link, branch λΌκ³ λ λΆλ¦)
- μΈμ (Adjacency)
- μ μ xμ μ μ yκ° κ°μ μ μν΄ μ°κ²°λμ΄μ Έ μλ€λ©΄, μ΄λ€ λ μ μ xμ yλ₯Ό μΈμ (Adjacent)λμ΄μλ€κ³ νλ€.
- μΈμ μ μ (adjacent vertex):
- κ°μ μ μ ν΄ μ§μ μ°κ²°λ μ μ
- λΆμ(Incident)
- μ μ μ¬μ΄μ μ°κ²°λ κ°μ μ λ μ μ Xμ Yμ λΆμλμ΄μλ€κ³ νλ€.
- μ μ μ μ°¨μ(degree):
- 무방ν₯ κ·Έλνμμ νλμ μ μ μ μΈμ ν μ μ μ μ
- 무방ν₯ κ·Έλνμ μ‘΄μ¬νλ μ μ μ λͺ¨λ μ°¨μμ ν© = κ·Έλνμ κ°μ μμ 2λ°°
- μ§μ
μ°¨μ(in-degree):
- λ°©ν₯ κ·Έλνμμ μΈλΆμμ μ€λ κ°μ μ μ (λ΄μ°¨μ λΌκ³ λ λΆλ¦)
- μ§μΆ μ°¨μ(out-degree):
- λ°©ν₯ κ·Έλνμμ μΈλΆλ‘ ν₯νλ κ°μ μ μ (μΈμ°¨μ λΌκ³ λ λΆλ¦)
- λ°©ν₯ κ·Έλνμ μλ μ μ μ μ§μ μ°¨μ λλ μ§μΆ μ°¨μμ ν© = λ°©ν₯ κ·Έλνμ κ°μ μ μ(λ΄μ°¨μ + μΈμ°¨μ)
- κ²½λ‘ κΈΈμ΄(path length):
- κ²½λ‘λ₯Ό ꡬμ±νλ λ° μ¬μ©λ κ°μ μ μ
- λ¨μ κ²½λ‘(simple path):
- κ²½λ‘ μ€μμ λ°λ³΅λλ μ μ μ΄ μλ κ²½μ°
- μ¬μ΄ν΄(cycle):
- λ¨μ κ²½λ‘μ μμ μ μ κ³Ό μ’ λ£ μ μ μ΄ λμΌν κ²½μ°
κ·Έλν(Graph)μ νΉμ§
- κ·Έλνλ λ€νΈμν¬ λͺ¨λΈ μ΄λ€.
- 2κ° μ΄μμ κ²½λ‘κ° κ°λ₯νλ€.
- μ¦, λ Έλλ€ μ¬μ΄μ 무방ν₯/λ°©ν₯μμ μλ°©ν₯ κ²½λ‘λ₯Ό κ°μ§ μ μλ€.
- self-loop λΏ μλλΌ loop/circuit λͺ¨λ κ°λ₯νλ€.
- λ£¨νΈ λ ΈλλΌλ κ°λ μ΄ μλ€.
- λΆλͺ¨-μμ κ΄κ³λΌλ κ°λ μ΄ μλ€.
- μνλ DFSλ BFSλ‘ μ΄λ£¨μ΄μ§λ€.
- κ·Έλνλ μν(Cyclic) νΉμ λΉμν(Acyclic)μ΄λ€.
- κ·Έλνλ ν¬κ² λ°©ν₯ κ·Έλνμ 무방ν₯ κ·Έλνκ° μλ€.
- κ°μ μ μ 무λ κ·Έλνμ λ°λΌ λ€λ₯΄λ€.
κ·Έλν(Graph)μ νμ
- κΉμ΄ μ°μ νμ(DFS, Depth-First Search)
- λ£¨νΈ λ Έλ(νΉμ λ€λ₯Έ μμμ λ Έλ)μμ μμν΄μ λ€μ λΆκΈ°(branch)λ‘ λμ΄κ°κΈ° μ μ ν΄λΉ λΆκΈ°λ₯Ό μλ²½νκ² νμνλ λ°©λ²
- μ¦, λκ²(wide) νμνκΈ° μ μ κΉκ²(deep) νμνλ κ²μ΄λ€.
- μ¬μ©νλ κ²½μ°: λͺ¨λ λ Έλλ₯Ό λ°©λ¬Έ νκ³ μ νλ κ²½μ°μ μ΄ λ°©λ²μ μ ννλ€. κΉμ΄ μ°μ νμμ΄ λλΉ μ°μ νμλ³΄λ€ μ’ λ κ°λ¨νλ€.
- λλΉ μ°μ νμ(BFS, Breadth-First Search)
λ£¨νΈ λ
Έλ(νΉμ λ€λ₯Έ μμμ λ
Έλ)μμ μμν΄μ μΈμ ν λ
Έλλ₯Ό λ¨Όμ νμνλ λ°©λ²
- μ¦, κΉκ²(deep) νμνκΈ° μ μ λκ²(wide) νμνλ κ²μ΄λ€.
- μ¬μ©νλ κ²½μ°: λ λ Έλ μ¬μ΄μ μ΅λ¨ κ²½λ‘ νΉμ μμμ κ²½λ‘λ₯Ό μ°Ύκ³ μΆμ λ μ΄ λ°©λ²μ μ ννλ€.
- Ex) μ§κ΅¬μμ μ‘΄μ¬νλ λͺ¨λ μΉκ΅¬ κ΄κ³λ₯Ό κ·Έλνλ‘ ννν ν Ashμ Vanessa μ¬μ΄μ μ‘΄μ¬νλ κ²½λ‘λ₯Ό μ°Ύλ κ²½μ°
- κΉμ΄ μ°μ νμμ κ²½μ° - λͺ¨λ μΉκ΅¬ κ΄κ³λ₯Ό λ€ μ΄ν΄λ΄μΌ ν μ§λ λͺ¨λ₯Έλ€.
- λλΉ μ°μ νμμ κ²½μ° - Ashμ κ°κΉμ΄ κ΄κ³λΆν° νμ
728x90
λ°μν