일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 설계도
- 티스토리챌린지
- 오늘의토픽
- 추가채용
- c언어
- 컴퓨터일반
- swap
- 슈퍼탱크대작전
- 정보
- 끄적끄적
- 해남버스터미널
- 일기처럼 보이는 뻘글
- 오블완
- 광주-해남
- 정보보호론
- 버스시간표
- 전산직
- 반복문
- 육아일기
- 말씀새기기
- 슈퍼탱크럼블
- 해남종합버스터미널
- 가톨릭
- 일기처럼 보이는 잡글
- NICU
- Lover
- 천주교
- 리안이
- 일상
- 잡담만설
Archives
- Today
- Total
리안이와 함께하는 세상
[자료구조] 최소비용 신장트리(MST, Minimum cost Spanning Tree) 본문
: 신장트리의 경로에 가중치가 주어져 있을 때,
최소의 비용으로 모든 정점을 연결하는 트리.
※ 신장트리니까 사이클X, n-1개의 경로(간선, 이하 경로라 함)를 가짐
* 최소비용 신장트리를 생성하는 알고리즘 : 크루스칼(Kruskal) 알고리즘, 프림(Prim) 알고리즘
1. 크루스칼 알고리즘(Kruskal's algorithm)
: 그래프 내에서 최소의 가중치를 가지는 경로를 선택하여 MST를 구성 (MST는 최소비용 신장트리임, 트리 구성중 여러개의 MST가 생기나 결국 하나로 합쳐짐. 신장트리니까!)
- 사이클 안됨 (신장트리라고!!)
- 이미지에서 볼 수 있듯, 비용이 최소면 사이클이 형성되지 않는 한 무조건 연결
(이미지 출처 : http://serverbob.3x.ro/IA/DDU0137.html, 끝까지 보고 싶으면 가서 보삼)
2. 프림 알고리즘(Prim's Algorithm)
: 그래프 내에서 한 점을 기준으로 최소의 비용을 가지는 정점을 선택하여 MST를 구성(트리 구성중 MST는 하나밖에 없음)
- 사이클 안됨(신장트리라니까?)
- 이미지에서 확인할 수 있듯, 근본이 있는 신장트리임... (아.. 크루스칼이 근본 없다는건 아니고...)
(이미지 출처 : 위와 같음)
* 프림과 크루스칼 알고리즘의 차이
> 트리 생성중 MST가 하나만 생기느냐 여러개가 생기느냐
> 마구잡이로 연결하느냐, 한 점에서 연결하느냐
* 결국 생기는 신장트리는 같을 수 있다.
'9급 공무원 > 컴퓨터 일반' 카테고리의 다른 글
[자료구조] 정렬(Sort) (0) | 2017.03.05 |
---|---|
[자료구조] 위상정렬 (0) | 2017.03.05 |
[자료구조] 신장트리(Spanning Tree) (0) | 2017.03.05 |
[자료구조] 트리의 내부경로길이 (0) | 2017.03.05 |
[자료구조] 데크(DeQueue) (0) | 2017.03.05 |