그래프 구현 방법
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()
가이드라인
AI 튜터
배포
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
코드 실행
코드 생성
실행 결과