great_park
great_park
great_park
전체 방문자
오늘
어제
05-25 06:53
  • 분류 전체보기 (124)
    • Computer Science (48)
      • Database (9)
      • Operating System (8)
      • Computer Network (0)
      • Computer Architecture (9)
      • Cloud computing (9)
      • Algorithm (13)
    • Algorithm PS (62)
      • DFS & BFS (21)
      • Floyd-Warshall (1)
      • Dijkstra (0)
      • Divide and Conquer (0)
      • Dynamic Programing (22)
      • Greedy (0)
      • BackTracking (11)
      • Binary Search (6)
      • Brute Force (0)
      • Sorting (0)
      • Stack & Queue (1)
      • Number Theory (0)
    • 기타 (12)
      • AWS (3)
      • Docker (1)
      • 기타 (8)
    • 2023 Google Solution Challenge (1)

최근 글

인기 글

블로그 메뉴

  • 홈
  • 태그
  • 방명록
반응형

태그

  • LIS
  • Computer Architecture
  • dp
  • Single-Cycle Datapath
  • Database
  • Docker
  • cloud computing
  • BOJ
  • dfs
  • operating system
  • mysql
  • DeadLock
  • Binarysearch
  • 알고리즘
  • pub/sub
  • Node.js
  • backtracking
  • php
  • BFS
  • Binary Search
hELLO · Designed By 정상우.
great_park

great_park

[Algorithm] Spanning Tree와 MST (Minimum Spanning Tree)
Computer Science/Algorithm

[Algorithm] Spanning Tree와 MST (Minimum Spanning Tree)

2023. 5. 22. 17:15
반응형

Idea

Spanning Tree

Spanning tree는 그래프 내의 모든 정점을 포함하는 트리를 의미합니다. 그래프의 일부 간선을 이용해 만든 트리로서 항상 그래프의 부분집합이 됩니다. 이때 간선의 개수가 최소이어야 하며, 따라서 최소 연결 부분 그래프라고도 합니다.

N개의 정점에 대해서 모든 정점을 포함하는 트리를 만들기위해서는 최소 N-1개의 간선이 필요합니다. 따라서 Spanning Tree는 그래프에 있는 n개의 정점을 정확히 (n-1)개의 간선으로 연결합니다. 이때 사이클을 포함해서는 안됩니다.

 

MST (Minimum Spanning Tree)

MST는 한 그래프에 대한 Spanning Tree 중에서 간선들의 가중치 합이 최소인 트리를 의미합니다.

그림에서 아래 3개의 신장 트리 중에서 가중치 합이 가장 적은 가운데 신장 트리가 바로 MST가 되는 것입니다.

 

정리

정리하면 아래와 같습니다.

신장 트리 (Spanning Tree)

  • 위의 그림 그래프에서 아래 그래프 3개 모두 신장 트리(3개 말고 더 있을 수 있음)
  • 그래프의 모든 정점을 포함하는 트리
  • 그래프의 최소 연결 부분 그래프로 사이클이 없음
  • 정점의 개수 n개면 간선의 개수 n-1개 가짐
  • 하나의 그래프에 많은 신장 트리 존재

최소 신장 트리 (MST, Minimum Spanning Tree)

  • 신장 트리 중 간선의 가중치 합이 최소인 트리
반응형
저작자표시 (새창열림)

'Computer Science > Algorithm' 카테고리의 다른 글

[Algorithm] 크루스칼 (Kruskal) 알고리즘  (0) 2023.05.22
[Algorithm] 유니온 파인드 (Union-Find) 알고리즘  (0) 2023.05.15
[Algorithm] 플로이드 워셜 (Floyd-Warshall) 알고리즘  (0) 2023.05.15
[Algorithm] 벨만-포드 (Bellman-Ford) 알고리즘  (2) 2023.05.08
[Algorithm] 다익스트라(Dijkstra) 알고리즘  (2) 2023.05.08
    'Computer Science/Algorithm' 카테고리의 다른 글
    • [Algorithm] 크루스칼 (Kruskal) 알고리즘
    • [Algorithm] 유니온 파인드 (Union-Find) 알고리즘
    • [Algorithm] 플로이드 워셜 (Floyd-Warshall) 알고리즘
    • [Algorithm] 벨만-포드 (Bellman-Ford) 알고리즘
    great_park
    great_park
    GitHub : https://github.com/great-park

    티스토리툴바