반응형
> 스패닝 트리(ST)
그래프 내의 모든 정점을 포함하는 트리
- Spanning Tree = 신장 트리 = 스패닝 트리
- Spanning Tree는 그래프의 최소 연결 부분 그래프이다.
- 최소 연결 = 간선의 수가 가장 적다.
- n개의 정점을 가지는 그래프의 최소 간선 수는 (n-1)개이고, (n-1)개의 간선으로 연결되어 있으면 필연적으로 트리 형태가 되고 이것이 바로 Spanning Tree가 된다.
- 즉, 그래프에서 일부 간선을 선택해서 만든 트리
스패닝 트리의 특징
- DFS, BFS를 이용하여 그래프에서 신장 트리를 찾을 수 있다.
- 탐색 도중에 사용된 간선만 모으면 만들 수 있다.
- 하나의 그래프에는 많은 신장 트리가 존재할 수 있다.
- Spanning Tree는 트리의 특수한 형태이므로 모든 정점들이 연결되어 있어야 하고 사이클을 포함해서는 안된다.
- 따라서 Spanning Tree는 그래프에 있는 n개의 정점을 정확히 (n-1)개의 간선으로 연결한다.
스패닝 트리의 사용 사례
통신 네트워크 구축
- 예를 들어, 회사 내의 모든 전화기를 가장 적은 수의 케이블을 사용하여 연결하고자 하는 경우
- n개의 위치를 연결하는 통신 네트워크를 최소의 링크(간선)를 이용하여 구축하고자 하는 경우, 최소 링크의 수는
(n-1)
개가 되고, 따라서 Spanning Tree가 가능해진다.
반응형
'알고리즘 > [ 개념 ]' 카테고리의 다른 글
[ 개념 ] 35. Iterator(반복자) 인터페이스 (0) | 2020.09.11 |
---|---|
[ 개념 ] 34. Tree - 최소신장트리(MST)와 크루스칼(Kruskal) 알고리즘 (0) | 2020.09.11 |
[ 개념 ] 32. Graph - 유니온 파인드(Union-Find) 알고리즘 (0) | 2020.09.11 |
[ 개념 ] 31. Graph - 위상정렬(Topological Sort) 알고리즘 (0) | 2020.09.11 |
[ 개념 ] 30. Trie(트라이) (2) | 2020.09.10 |