ASD Ćwiczenia 11: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
Niech <math>G=(V,E)</math> będzie grafem spójnym, a <math>w:E\rightarrow Z</math> funkcją, która każdej krawędzi <math>e</math> przypisuje nieujemą, całkowitoliczbową wagę <math>w(e)</math>. Dla każdego podgrafu <math>G'=(V',E')</math> definujemy wagę <math>W(G')</math> jako sumę wag jego krawędzi. Drzewo rozpinające grafu <math>G</math>, którego waga jest nie większa o od wagi każdego innego drzewa rozpinającego w tym grafie nazywamy minimalnym drzewem rozpinającym grafu <math>G</math>. | Niech <math>G=(V,E)</math> będzie grafem spójnym, a <math>w:E\rightarrow Z</math> funkcją, która każdej krawędzi <math>e</math> przypisuje nieujemą, całkowitoliczbową wagę <math>w(e)</math>. Dla każdego podgrafu <math>G'=(V',E')</math> definujemy wagę <math>W(G')</math> jako sumę wag jego krawędzi. Drzewo rozpinające grafu <math>G</math>, którego waga jest nie większa o od wagi każdego innego drzewa rozpinającego w tym grafie nazywamy minimalnym drzewem rozpinającym grafu <math>G</math>. W grafie może być więcej niż jedno drzewo rozpinające. | ||
==Zadanie 1== | |||
Udowodnij, że jeśli wagi krawędzi są parami różne, to w grafie istnieje dokładnie jedno minimalne drzewo rozpinające. | |||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"> | ||
Wskazówka | Wskazówka | ||
<div class="mw-collapsible-content" style="display:none"> | |||
Udowodnij, że następujący algorytm zachłanny oblicza minimalne drzewo rozpinające dla spójnego grafu <math>G=(V,E)</math>, a następnie wykaż, że gdy wagi są parami różne, to każde inne drzewo ma wagę większą. | |||
< | 1 posortuj krawędzie według wag, od najmniejszej do największej, i niech | ||
//e_1, e_2,\ldots, e_m będdzie ciągiem posortowanych krawędzi. | |||
</div> | 2 <math>F := \emptyset</math>; <math>i := 0</math>; | ||
3 '''while''' <math>|F| < n-1</math> '''do''' | |||
4 '''begin''' | |||
5 <math>i := i+1</math>; | |||
6 '''if''' graf <math>(V,F\cup \{e_i}\})</math> nie zawiera cyklu '''then''' | |||
7 <math>F := F \cup \{e_i\}</math> | |||
8 '''end'''; | |||
9 '''return''' <math>T=(V,F)</math>; | |||
</div> | |||
</div> | </div> |
Wersja z 11:49, 28 wrz 2006
Niech będzie grafem spójnym, a funkcją, która każdej krawędzi przypisuje nieujemą, całkowitoliczbową wagę . Dla każdego podgrafu definujemy wagę jako sumę wag jego krawędzi. Drzewo rozpinające grafu , którego waga jest nie większa o od wagi każdego innego drzewa rozpinającego w tym grafie nazywamy minimalnym drzewem rozpinającym grafu . W grafie może być więcej niż jedno drzewo rozpinające.
Zadanie 1
Udowodnij, że jeśli wagi krawędzi są parami różne, to w grafie istnieje dokładnie jedno minimalne drzewo rozpinające.
Wskazówka