본문으로 건너뛰기
실습하기

그래프 구현 방법

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()

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!