Betrachten zwei Kanten e1 ∈ E1, E2 e2 ∈. Sie verbinden zwischen 2 und 4 verschiedenen Ecken in V. Wenn sie 3 oder 4 Eckpunkten verbinden an, dass Sie zuerst die Eckpunkte Vertrag, e1 Connects (das gleiche wie jeder Schritt in Kruskal's algorithm), dann diejenigen, die e2 verbindet, und dann eine beliebige minimum spanning tree algorithm auf der resultierende Graph laufen. Dann ist das Ergebnis der MST, der e1 und e2 enthält.
Daraus folgt, dass Sie die gesamte MST durch Schleifen über alle e1 ∈ E1 finden, e2 ∈ E2 (die nicht genau verbinden die gleichen beiden Ecken), und die leichteste Lösung zu finden. Der Beweis der Korrektheit kann leicht von dem von Kruskal's algorithm modifiziert werden.
In der Tat, aber können Sie diese effizienter gestalten, da entweder die leichteste Kante in E1 oder die leichteste Kante in E2 muss in einigen MST verwendet werden. Nehmen wir an, dass die leichteste Kante in E1, E'1 sagen ist nicht verwendet werden, und betrachten einen Schnitt Vereinbarung mit E'1. Das MST muss etwas e ≠ e'1 enthalten, das den Schnitt verbindet. Wenn und ∈ E1, dann kann e'1 anstelle von e verwendet werden. Wenn e ∈ E2, aber, und e nicht verwendet werden kann, dann e ist leichter als e'1. In diesem Fall jedoch führt die Wiederholung des Arguments für E2 dazu, dass die hellste Kante in E2 Teil des MST sein kann.
Folglich wird nur der leichtesten Rand der E1 zusammen mit jeder Kante in E2 oder die leichtesten Kante in E2 zusammen mit jeder Kante in E1 muß für die ersten beiden Kontraktionen erwähnen oben betrachtet werden.
Die Komplexität ist Θ (| E1 + E2 | f (V, E1 + E2)), wo f die Komplexität des MST-Algorithmus ist.