Borůvkův algoritmus (nebo Borův-Sollinův algoritmus ) je algoritmus pro nalezení minimální kostry v grafu.
Poprvé ji publikoval v roce 1926 Otakar Borůvka jako metodu pro nalezení optimální elektrické sítě na Moravě . Byl několikrát znovu objeven, například Florek , Perkal a Sollin . Posledně jmenovaný byl navíc jediným západním vědcem na tomto seznamu, a proto je tento algoritmus často označován jako Sollinův algoritmus, zejména v literatuře o paralelních počítačích .
Činnost algoritmu se skládá z několika iterací, z nichž každá spočívá v postupném přidávání hran do grafu zahrnujícího les , dokud se les nezmění ve strom , tedy les skládající se z jedné spojené komponenty.
Algoritmus lze popsat následovně:
Při každé iteraci je počet stromů v rozprostřeném lese alespoň poloviční, takže algoritmus celkem provede nejvíce iterací. Každá iterace může být implementována se složitostí , takže celková doba běhu algoritmu je čas (zde a počet vrcholů a hran v grafu, v tomto pořadí).
U některých typů grafů, zejména rovinných , však může být redukována na . [1] Existuje také randomizovaný minimální algoritmus spanning tree založený na Borůvkově algoritmu, který běží v průměru v lineárním čase.
Algoritmy vyhledávání grafů | ||
---|---|---|
Neinformované metody | ||
Informované metody | ||
Zkratky | ||
Minimální kostra | ||
jiný |