Boruvkas algoritm (eller Boruvka-Sollins algoritm ) är en algoritm för att hitta det minsta spännträdet i en graf.
Den publicerades första gången 1926 av Otakar Boruvka som en metod för att hitta det optimala elektriska nätverket i Mähren . Den har återupptäckts flera gånger, till exempel av Florek , Perkal och Sollin . Den sistnämnde var dessutom den enda västerländska vetenskapsmannen på denna lista, och därför kallas algoritmen ofta för Sollins algoritm, särskilt i parallellberäkningslitteraturen .
Funktionen av algoritmen består av flera iterationer, som var och en består i att sekventiellt lägga till kanter till grafens spännande skog , tills skogen förvandlas till ett träd , det vill säga en skog som består av en ansluten komponent.
Algoritmen kan beskrivas på följande sätt:
Vid varje iteration halveras antalet träd i den spännande skogen minst, så algoritmen utför som mest iterationer totalt. Varje iteration kan implementeras med komplexitet , så den totala körtiden för algoritmen är tid (här och är antalet hörn och kanter i grafen, respektive).
För vissa typer av grafer, särskilt plana , kan den dock reduceras till . [1] Det finns också en randomiserad minimum spaning tree -algoritm baserad på Boruvkas algoritm som körs i genomsnitt i linjär tid.
Algoritmer för grafsökning | ||
---|---|---|
Oinformerade metoder | ||
Informerade metoder | ||
Genvägar | ||
Minsta spännträd | ||
Övrig |