시냅스

[자료구조] 최소 신장 트리 Minimum Spanning Tree 본문

자료구조

[자료구조] 최소 신장 트리 Minimum Spanning Tree

ted k 2022. 6. 7. 15:00

Spanning Tree (신장 트리)

  • Spanning Tree, 또는 신장 트리 라고 불리움 (Spanning Tree가 보다 자연스러워 보임)

  • 원래의 그래프의 모든 노드가 연결되어 있으면서 트리의 속성을 만족하는 그래프

  • 신장 트리의 조건

    • 본래의 그래프의 모든 노드를 포함해야 함
    • 모든 노드가 서로 연결
    • 트리의 속성을 만족시킴 (사이클이 존재하지 않음)
  • DFS, BFS을 이용하여 그래프에서 신장 트리를 찾을 수 있다.

  • 탐색 도중에 사용된 간선만 모으면 만들 수 있다.

  • 하나의 그래프에는 많은 신장 트리가 존재할 수 있다.

  • Spanning Tree는 트리의 특수한 형태이므로 모든 정점들이 연결 되어 있어야 하고 사이클을 포함해서는 안된다.

  • 따라서 Spanning Tree는 그래프에 있는 n개의 정점을 정확히 (n-1)개의 간선으로 연결 한다.

최소 신장 트리

  • Minimum Spanning Tree, MST 라고 불리움
  • 가능한 Spanning Tree 중에서, 간선의 가중치 합이 최소인 Spanning Tree를 지칭함

특징

  • 간선의 가중치의 합이 최소여야 한다.
  • n개의 정점을 가지는 그래프에 대해 반드시 (n-1)개의 간선만을 사용해야 한다.
  • 사이클이 포함되어서는 안된다.
  • 가중치 무방향 그래프
  • Kruskal, Prim algorithm 을 사용하여 구현 가능하다.
Comments