π·πΌλͺ¨μ¬λ΄μ κ°λ°μμ²π·πΌ
κ·Έλνμ μΈμ νλ ¬ λ³Έλ¬Έ
κ·Έλνλ₯Ό ννν λλ κΈ°λ³Έμ μΌλ‘ G(V, E)λ₯Ό μ¬μ©ν©λλ€.
Graph(vertice, Edge)
κ·Έλνλ?
κ·Έλνλ μ μ κ³Ό κ°μ μΌλ‘ μ΄λ£¨μ΄μ§ μλ£κ΅¬μ‘°μ λλ€. μ ννλ μ μ (Vertex)κ°μ κ΄κ³λ₯Ό νννλ μ‘°μ§λλΌκ³ λ³Όμλ μκ² μ΅λλ€. κ·Έλ°λ©΄μμ νΈλ¦¬λ κ·Έλνμ μΌμ’ μΈ μ μ λλ€. λ€λ§ νΈλ¦¬μλ λ¬λ¦¬ κ·Έλνλ μ μ λ§λ€ κ°μ μ΄ μμμλ μκ³ μμμλ μμΌλ©° λ£¨νΈ λ Έλ, λΆλͺ¨μ μμμ΄λΌλ κ°λ μ΄ μ‘΄μ¬νμ§ μμ΅λλ€. λν κ·Έλνλ λ€νΈμν¬ λͺ¨λΈ μ¦, κ°μ²΄μ μ΄μ λν κ΄κ³λ₯Ό λνλ΄λ μ μ°ν λ°©μμΌλ‘ μ΄ν΄ν μ μμ΅λλ€. μ€μνμμ λ€μν μλ₯Ό κ·Έλνλ‘ ννν μ μμ΅λλ€. λνμ μΌλ‘ μ§νμ² λ Έμ λ, λμ¬μ λλ‘λ±μ΄ μμ΅λλ€. μ΄λ°μμΌλ‘ νμ©ν μ μλ λ°©λ²μ΄ λ§κΈ°μ λ¬Έμ λ λ€μνκ² μΆμ λ₯Ό ν μ μμ΅λλ€. κ·Έλνλ μκ³ λ¦¬μ¦μμ κ΅μ₯ν λ§μ΄ μ¬μ©λ©λλ€. νΉν κ·Έλνλ₯Ό μννλ λ°©μμΈ DFSμ BFSλ₯Ό μ μμλμ΄μΌ ν©λλ€.
κ·Έλνμμ μ¬μ©νλ μ©μ΄
μ μ (vertice) : λ
Έλ(node)λΌκ³ λ νλ©° μ μ μλ λ°μ΄ν°κ° μ μ₯λ©λλ€. (0, 1, 2, 3)
κ°μ (edge): λ§ν¬(arcs)λΌκ³ λ νλ©° λ
Έλκ°μ κ΄κ³λ₯Ό λνλ
λλ€.
μΈμ μ μ (adjacent vertex) : κ°μ μ μν΄ μ°κ²°λ μ μ μΌλ‘ μμμ (μ μ 0κ³Ό μ μ 1μ μΈμ μ μ )
λ¨μ κ²½λ‘(simple-path): κ²½λ‘ μ€ λ°λ³΅λλ μ μ μ΄ μλκ², κ°μ κ°μ μ μλκ°μ§ μλ κ²½λ‘
μ°¨μ(degree): 무방ν₯ κ·Έλνμμ νλμ μ μ μ μΈμ ν μ μ μ μ (μ μ 0μ μ°¨μλ 3)
μ§μΆ μ°¨μ(out-degree) : λ°©ν₯κ·Έλνμμ μ¬μ©λλ μ©μ΄λ‘ ν λ
Έλμμ μΈλΆλ‘ ν₯νλ κ°μ μ μλ₯Ό λ»ν©λλ€.
μ§μ
μ°¨μ(in-degree) : λ°©ν₯κ·Έλνμμ μ¬μ©λλ μ©μ΄λ‘ μΈλΆ λ
Έλμμ λ€μ΄μ€λ κ°μ μ μλ₯Ό λ»ν©λλ€.
μΆμ² : μ½λ©ν©ν 리 - https://coding-factory.tistory.com/610
1. 무방ν₯ κ·Έλν
1κ³Ό 2κ° μ΄μ΄μ Έ μμΌλ©΄ g[1][2] = 1; g[2][1] = 1; νλ€.
2. λ°©ν₯ κ·Έλν
1->2 μ΄λ©΄ g[1][2] = 1; νλ€.
3. κ°μ€μΉ λ°©ν₯ κ·Έλν
g[1][2] = 2; νλ©΄ λλ€.
'κ°λ° > μκ³ λ¦¬μ¦ λ¬Έμ νμ΄ JAVA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
κ²½λ‘νμ(μΈμ 리μ€νΈ, ArrayList) (0) | 2021.08.02 |
---|---|
κ²½λ‘ νμ(μΈμ νλ ¬) (0) | 2021.08.02 |
Tree λ§λ¨λ ΈλκΉμ§μ κ°μ₯ 짧μ κ²½λ‘(DFS, BFS) (0) | 2021.08.01 |
[JAVA/μ½λ©ν μ€νΈ] μ‘μμ§ μ°ΎκΈ° (BFS : μννΈλ¦¬νμ) (0) | 2021.08.01 |
μ΄μ§νΈλ¦¬μν : λμ΄μ°μ νμ - λ 벨νμ(BFS : Breadth-First Search) (0) | 2021.07.30 |