ASD Ćwiczenia 11: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Diks (dyskusja | edycje)
Nie podano opisu zmian
 
Diks (dyskusja | edycje)
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ą.


<div class="mw-collapsible-content" style="display:none">
1 posortuj krawędzie według wag, od najmniejszej do największej, i niech
Przedstaw za pomocą drzewa decyzyjnego algorytm sortowania przez scalanie z pominięciem zbędnych porównań.
    //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 G=(V,E) będzie grafem spójnym, a w:EZ funkcją, która każdej krawędzi e przypisuje nieujemą, całkowitoliczbową wagę w(e). Dla każdego podgrafu G=(V,E) definujemy wagę W(G) jako sumę wag jego krawędzi. Drzewo rozpinające grafu G, 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 G. 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