κ·Έλν ꡬν λ°©λ²
1. κ·Έλν ν΄λμ€ μ μ
-
κ·Έλνλ λ Έλμ κ°μ μ μ¬μ©νμ¬ λ€νΈμν¬ κ΅¬μ‘°λ₯Ό λͺ¨λΈλ§νλ μλ£κ΅¬μ‘°μ λλ€.
-
Graph
ν΄λμ€λ λ Έλμ κ·Έ μΈμ λ Έλλ₯Ό μ μ₯νκΈ° μν λμ λ리λ₯Ό ν¬ν¨ν©λλ€.
class Graph: def __init__(self): self.graph = {} # λ Έλμ κ·Έ μΈμ λ Έλλ₯Ό μ μ₯ν λμ λ리
2. κ°μ μΆκ° λ©μλ
-
add_edge
λ©μλλ λ λ Έλ μ¬μ΄μ μλ°©ν₯ κ°μ μ μΆκ°ν©λλ€. -
κ° λ Έλκ° κ·Έλνμ μλ κ²½μ°, λ Έλλ₯Ό μΆκ°νκ³ λΉ λ¦¬μ€νΈλ₯Ό ν λΉν©λλ€.
def add_edge(self, node1, node2): if node1 not in self.graph: self.graph[node1] = [] if node2 not in self.graph: self.graph[node2] = [] self.graph[node1].append(node2) self.graph[node2].append(node1)
3. κ·Έλν μΆλ ₯ λ©μλ
-
display
λ©μλλ κ·Έλνμ λ΄μ©μ μΆλ ₯ν©λλ€. -
κ° λ Έλμ κ·Έμ μΈμ ν λ Έλλ€μ μΆλ ₯νμ¬ κ·Έλνμ ꡬ쑰λ₯Ό 보μ¬μ€λλ€.
def display(self): for node in self.graph: print(f"{node} -> {self.graph[node]}")
4. κ·Έλν κ°μ²΄ μμ± λ° μ¬μ©
-
Graph
ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό μμ±νκ³ , κ°μ μ μΆκ°νμ¬ κ·Έλνλ₯Ό ꡬμ±ν©λλ€. -
display
λ©μλλ₯Ό νΈμΆνμ¬ κ·Έλνμ ꡬ쑰λ₯Ό νμΈν©λλ€.
# κ·Έλν κ°μ²΄ μμ± g = Graph() # κ°μ μΆκ° g.add_edge('A', 'B') g.add_edge('A', 'C') g.add_edge('B', 'C') g.add_edge('B', 'D') # κ·Έλν μΆλ ₯ g.display()
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Execution Result