Menu
Coddy logo textTech

How it works?

Coddy의 프림 알고리즘 - 그래프 알고리즘 코스 레슨 — 9개 중 3번째.

각 정점에 대해 불리언(boolean) inTree를 유지합니다. 트리에 정점 0만 포함된 상태로 시작합니다. 프런티어(frontier)는 한쪽 끝점만 트리 내부에 있는 모든 간선을 의미하며, 이를 crossing edge(교차 간선)라고 부릅니다.

단계별 프로세스:

  1. 모든 교차 간선 중에서 가중치가 가장 작은 간선을 선택합니다.
  2. 해당 간선의 트리 바깥쪽 끝점을 트리에 추가하고 그 가중치를 합계에 더합니다.
  3. 트리가 모든 n개의 정점을 포함할 때까지 반복합니다 (이 과정에는 n - 1개의 간선이 필요합니다).

어느 시점에서 교차 간선이 존재하지 않는데 정점이 바깥에 남아 있다면, 그 그래프는 연결되지 않은 상태입니다.

간선 [0,1,1, 1,2,2, 2,3,3, 0,3,4]이 있는 예시: 0에서 시작하여 0-1(1)을 선택하고, 그다음 1-2(2), 그다음 2-3(3)을 선택합니다. 총합은 6입니다.

직접 해보기

이 레슨에는 코드 챌린지가 없습니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

프림 알고리즘 - 그래프 알고리즘의 모든 레슨