Graph
1. Graphμ ꡬ쑰
μ§μ μ μΈ κ΄κ³κ° μλ κ²½μ°, λ μ μ¬μ΄λ₯Ό μ΄μ΄μ£Όλ μ μ΄ μμ
κ°μ μ μΈ κ΄κ³λΌλ©΄ λͺ κ°μ μ κ³Ό μ μ κ±Έμ³ μ΄μ΄μ§
νλμ μ μ κ·Έλνμμλ μ μ (vertex)λΌκ³ νν, νλμ μ μ κ°μ (edge)λΌκ³ ν¨
2. Graphμ νν λ°©μ
μΈμ νλ ¬
λ μ μ μ λ°λ‘ μ΄μ΄μ£Όλ κ°μ μ΄ μλ€λ©΄ μ΄ λ μ μ μ μΈμ νλ€κ³ λ§ν¨
μλ‘ λ€λ₯Έ μ μ λ€μ΄ μΈμ ν μνμΈμ§λ₯Ό νμν νλ ¬λ‘ 2μ°¨μ λ°°μ΄μ ννλ‘ λνλ
μΈμ 리μ€νΈ
κ° μ μ μ΄ μ΄λ€ μ μ κ³Ό μΈμ νλμ§ λ¦¬μ€νΈ ννλ‘ νν
3. μμλμ΄μΌ ν Graph μ©μ΄λ€
μ μ (vertex)
λ ΈλλΌκ³ λ νλ©°, λ°μ΄ν°κ° μ μ₯λλ κ·Έλνμ κΈ°λ³Έ μμ
κ°μ (edge)
μ μ κ°μ κ΄κ³(μ μ μ μ΄μ΄μ£Όλ μ )
μΈμ μ μ (adjacent vertex)
νλμ μ μ μμ κ°μ μ μν΄ μ§μ μ°κ²°λ μ μ
κ°μ€μΉ κ·Έλν (weighted Graph)
μ°κ²°μ κ°λκ° μΌλ§λ λλμ§ μ ν μλ κ·Έλν
λΉ κ°μ€μΉ κ·Έλν (unweighted Graph)
μ°κ²°μ κ°λκ° μ ν μμ§ μμ κ·Έλν
무ν₯(무방ν₯) κ·Έλν (undirected graph)
μ§μ μ°¨μ (in-degree) / μ§μΆμ°¨μ (out-degree)
ν μ μ μ μ§μ νκ³ μ§μΆνλ κ°μ μ΄ λͺ κ°μΈμ§ λνλ
μΈμ (adjacency)
λ μ μ κ°μ κ°μ μ΄ μ§μ μ΄μ΄μ Έ μλ€λ©΄ μ΄ λ μ μ μ μΈμ ν μ μ
μκΈ° 루ν (self loop)
μ μ μμ μ§μΆνλ κ°μ μ΄ κ³§λ°λ‘ μκΈ° μμ μκ² μ§μ νλ κ²½μ° μκΈ° 루νλ₯Ό κ°μ‘λ€λΌκ³ νν
λ€λ₯Έ μ μ μ κ±°μΉμ§ μλλ€λ κ²μ΄ νΉμ§
μ¬μ΄ν΄(cycle)
ν μ μ μμ μΆλ°νμ¬ λ€μ ν΄λΉ μ μ μΌλ‘ λμκ° μ μλ κ²½μ°
4. BFSμ DFS
BFS(Breadth-First Search)
λλΉλ₯Ό λ¨Όμ νμνλ λ°©λ²μ Breadth-First Search, λλΉ μ°μ νμμ΄λΌκ³ ν¨
μ£Όλ‘ λ μ μ μ¬μ΄μ μ΅λ¨ κ²½λ‘λ₯Ό μ°Ύμ λ μ¬μ©
DFS(Depth-First Search)
ν μ μ μμ μμν΄μ λ€μ κ²½λ‘λ‘ λμ΄κ°κΈ° μ μ ν΄λΉ κ²½λ‘λ₯Ό μλ²½νκ² νμν λ μ¬μ©
BFSλ³΄λ€ νμ μκ°μ μ‘°κΈ μ€λ 걸릴μ§λΌλ λͺ¨λ λ Έλλ₯Ό μμ ν νμ κ°λ₯
Last updated