İki Dijkstra algoritmasının (tek bir başlangıç düğümünden en kısa yollar) ve Prim'in (belirli bir düğümden başlayan asgari ağırlık ağacı) çok benzer bir yapıya sahip olduğu konusunda haklısınız . Her ikisi de açgözlüdür (mevcut bakış açısından en iyi kenarı alır) ve grafiği kapsayan bir ağaç oluşturur.
Ancak en aza indirdikleri değer farklıdır. Dijkstra, bir sonraki kenar olarak ağaçtan henüz başlangıç düğümüne en yakın seçilmemiş bir düğüme giden ucu seçer. (Daha sonra bu seçim ile mesafeler yeniden hesaplanır.) Prim, şu ana kadar yapılan ağaçtan çıkan en kısa kenarı kenara seçer. Bu nedenle, her iki algoritma da "minimal kenar" seçti. Asıl fark, minimal olarak seçilen değerdir. Dijkstra için başlangıç düğümünden aday düğüme giden tam yolun uzunluğu, Prim için ise bu tek kenarın ağırlığıdır.
Aradaki farkı görmek için ne olduğunu görmek için birkaç örnek oluşturmaya çalışmalısınız, Bu gerçekten öğretici. En basit örnekte gösterildiği farklı bir davranış bir üçgen olduğu kenarlı ve ise ve uzunluğu 2, içinde uzunluğunun başlangıç 1. sahip Dijkstra, ve (iki uzunluktaki iki yolu vererek) seçerken, Prim ve (yayılma ağacını verir) ağırlık 3).x,y,z{x,y}{x,z}{y,z}x{x,y}{x,z}{x,y}{y,z}
Kruskal'a gelince , bu biraz farklı. Minimal yayılma ağacını çözer, ancak uygulama sırasında bir ağaç oluşturmayacak kenarı seçer, sadece döngüden kaçınırlar. Bu nedenle kısmi çözümler bağlantısı kesilebilir. Sonunda bir ağaç olsun.