알고리즘 설계 및 분석 과정을 검토 노트 10-- 최소 스패닝 트리
최소 스패닝 트리 MST
도로 문제
, 작은 마을 일부 주택과 도로의 일부, 모든 도로 연결 및 연결 두 주택, 연결 유지 보수 비용 U와 V로드 하우스 (유, v)를, 승입니다
그리고 이제 충분히 길을 복구 할 필요가 같은 것을 : 두 개의 주택 각, 최소 유지 보수 비용 사이의 통신을 유지합니다.
사진은 오른쪽의 도로 유지 보수 비용에 대한 도면, 정점의 집 가장자리에는 연결되지 않습니다.
은 T, T 집합 E, 및 W (T) = 찾기
최소 스패닝 트리 특성
- 비 고유
- 어떤 루프 없다
- MST 측의 수는 정점을 뺀 수입니다
MST는 생성
일반적인 절차 :
에지 (A)의 세트를 만들고, 빈이 때부터
서서히는 A 측에 첨가하고이 유지 MST의 일부이다
IFF ∪ {(U는 V) } MST의 서브 세트는, 우리 에지 (u, v)는 상기 안전
MST 일반적인 알고리즘
← 빈 세트
얼마가 스패닝 트리 아니다 (MST이 형성되지 않은)
인 안전을 위해 에지 (U, V)를 찾을 수 있습니까 (A면 안전 (U, V) 찾을 수)
←을 {∪ (U, V)}
를 반환
어떻게 안전의 측면을 찾으려면?
일부 정의 :
- 절단 : 그래프의 정점을 연결 해제 두 개의 집합으로 S 및 V - S를
- 커팅 에지의 두 끝점하면, 각각 두 세트와 S V - 다른 S, 우리는 그 가장자리에 걸쳐 절단 대답
- 비 간섭 절단 컬렉션 설정된 상기 절삭 날은 교차하지
- 가장자리에서 빛 컷 최소 가중치 에지에 절삭 날에 걸쳐 모든
정리 :
A는 서브셋 MST이고, (S가 V - S)가 절단되지 않은 개입은, (u, v)가 빛의 가장자리에 걸쳐 절단 된 다음, (u, v)는 A에 대한 안전 .
크루스 칼의 알고리즘
- 이다 처음부터 각각의 정점, 각 정점의 구성 요소
- 측면 광 LE를 선택하면, 두 요소가 서로 연결되어 유지할
- 에지 부 검사의 순서로 우선 순위 값 세트를 증분
- 여부는 다른 성분의 데이터 구조를 에지 판정 무관 세트를 사용하여 연결
관련 작업하지 모음
- MAKE-SET (U) 요소만을 포함하는 컬렉션을 만들 수있는 유
- FIND-SET (U)는 U를 포함하는 대표적인 소자를 반환
- 세트의 모든 요소는 특정 속성을 가지고
- 세트
특성은 알파벳 순서 첫 번째 문자에
예 : = {R, S, T, U} FIND-SET (U) = R, FIND-SET (S) = R - 주어진를 들어, 같은 값을 반환
- UNION (U, V) 병합 동작
예 : = {R, S, T, U} = {V, X, Y}
UNION (U, V) = {R, S, T, U, V, X, Y}
크루스 칼 (V, E, w)
←空集
각 정점 v 및 ∈ V는
MAKE-SET (V)을 수행
(权值递增排序) w는 중량 비 내림차순으로 정렬 E를
각각 (U는 V)에서 촬영 정렬 된 목록을
할 경우 FIND-SET (U) ≠ FIND-SET (V) (属于不同的组件)
다음 ← ∪ {(u는, V)}
UNION (유, v)를
반환 A를
비용을 실행 :
프림 알고리즘
- 가장자리의 집합의 트리를 형성
- 선택한 루트의 처음부터
- 때마다
- (절단을 확인 , V - ) LE의
- 르의 추가
- 트리에있는 모든 정점에있어서 때까지 반복
- 욕심 전략 : 나무와 무게의 증가 최소한의 측면 모서리의 각 추가
얼마나 빨리 LE을 결정?
우선 순위 큐를 사용하여
- 그것은 모든 정점 (V 트리를 포함 - )
- 각 정점이 키 값이 어느 측에 접속, 즉 트리 할당 (U를, V) (V)를 최소 중량
경우 V 및 모든 정점은, 다음 키 값을 연결되어 있지 않습니다
노드 증가, 모든 노드의 키 값 조정을 이에 접속
프림 (V, E, R, w)
Q ←空集
각 U ∈ V 대해
수행 키 [U] ←
π [U] ← NIL의
키 [R] ← 0
Q ← V
동안 Q ≠空集
수행 U ← EXTRACT-MIN (Q)
각 V 용 ∈ 치 [U]
않으면 V ∈ Q 및 w (U, V) <키 [V]
다음 π [V] ← U
키 [V] ← w (U, V)
알고리즘 분석
참조 : 학급 교사 교수 쿠 테크 붉은 코스