# Úloha minimální kostry Nechť $G$ je souvislý ohodnocený neorientovaný graf a nechť $T$ je kostra grafu $G$. Potom číslo $\displaystyle w(T) = \sum_{e \in E(T)} w(e)$ nazveme **vahou kostry $T$ v grafu $G$**. Kostru $T'$ takovou, že $w(T') = \min\{ w(T); T \text{ je kostra } G \}$, nazveme **minimální kostrou grafu $G$**. ## Algoritmus - O. Borůvka - Vstup: souvislý ohodnocený neorientovaný graf. 1. $F$ je faktor grafu $G$ s $E(F) = \emptyset$ (nemá žádné hrany). 2. Existuje hrana $e \in E(G) - E(F)$ taková, že faktor $F' = (V(G), E(F) \cup \{e\})$ neobsahuje kružnici? - Pokud ne - KONEC, pokud ano, pokračuj na 3. 3. Ze všech takových hran vyber hranu $e'$ s minimální váhou a polož $F = (V(G), E(F) \cup \{e'\})$ a jdi na 2. **Věta**: Nechť $G$ je souvislý ohodnocený neorientovaný graf. Potom faktor $F$ nalezený předchozím algoritmem je minimální kostra grafu $G$. ## Algoritmus - V. Jarník - Vstup: souvislý ohodnocený neorientovaný graf. 1. Zvolme libovolný vrchol $x \in V(G)$, položme $i := 1$ a $G_{1} = (\{x\}, \emptyset)$. 2. Je $V(G_{i}) = V(G)$? - ANO - $G_{i}$ je minimální kostrou grafu $G$, konec - NE - zvolme hranu $e_{i}$ s nejmenší vahou takovou, že má jeden konec v $G_{i}$ a druhý $x_{i}$ mimo $G_{i}$ (ze souvislosti grafu $G$ taková hrana existuje), krok 3 3. Označme $G_{i+1}$ graf vzniklý z grafu $G_{i}$ přidáním hrany $e_{i}$ včetně jejího koncového vrcholu $x_{i}$ - $V(G_{i+1}) = V(G_{i} \cup \{x_{i}\}), \quad E(G_{i+1}) = E(G_{i}) \cup \{e_{i}\}$ - krok 2 ## Algoritmus - J. B. Kruskal - TODO