Algorytm Schemat działania: Utwórz drzewo zawierające jeden wierzchołek, dowolnie wybrany z grafu. Utwórz kolejkę priorytetową, zawierającą wierzchołki osiągalne z MDR (w tym momencie zawiera jeden wierzchołek, więc na początku w kolejce będą sąsiedzi początkowego wierzchołka), o priorytecie najmniejszego kosztu dotarcia do danego wierzchołka z MDR. Powtarzaj, dopóki drzewo nie obejmuje wszystkich wierzchołków grafu: wśród nieprzetworzonych wierzchołków (spoza obecnego MDR) wybierz ten, dla którego koszt dojścia z obecnego MDR jest najmniejszy. dodaj do obecnego MDR wierzchołek i krawędź realizującą najmniejszy koszt zaktualizuj kolejkę priorytetową, uwzględniając nowe krawędzie wychodzące z dodanego wierzchołka
Złożoność obliczeniowa w zależności od implementacji kolejki priorytetowej: Dla wersji opartej na zwykłym kopcu (bądź drzewie czerwono-czarnym) . Przy zastosowaniu kopca Fibonacciego co przy dużej gęstości grafu (takiej, że jest ) oznacza duże przyspieszenie.
Dowód poprawności Weźmy dowolny spójny graf nieskierowany z wagami. Wiemy, że istnieje co najmniej jedno minimalne drzewo rozpinające.