Prim Algoritmasi
agirliklandirilmis ve bagli bir çizge üzerinde minimum örten agaçminimum spanning tree) bulan algoritmalardan birisidir. Ayritlarin bir alt kümesini, tüm dügümleri kapsayacak ve ayritlarin toplam agirligini (minimum yapacak sekilde bulur. Bagli olmayan bie çizgeye uygulandiginda sonucu bagli bilesenlerden yalniz birisi için bulur. Bu algoritma 1930 yilinda matematikçi Vojtech Jarnik tarafindan bulunmustur. Daha sonra bagimsiz olarak 1957'de bilgisayar bilimcisi Robert C. Prim ve 1959'da Dijkstra tarafindan tekrar bulunmustur. Bu nedenle bu algoritmaya DJP veya Jarnik algoritmasi da denir.
Sözdekod'u asagidaki gibi verilebilir:
function Prim(çizge N)
T : kapsayan agaç
B : eklenmis dügümler
B <- rastgele bir dügüm
while B<>N do
e = (u,v) seklinde en hafif ayriti bul oyle ki u B'nin elemani olsun ve v N\B 'nin elemani olsun
T <- T U {e}
B <- B U {v}
endwhile
return T
Bu durumda C, E ve G'den birini seçebiliriz. C, B'den 8 uzakta, E, B'den 7 uzakta ve G, F'den 11 uzakta. En yakin E oldugu için onu ve EB ayritini isaretliyoruz. Diger iki ayrit kirmizi çünkü onlari baglayan dügümler kullanildi.
http://img72.imageshack.us/img72/671...thm5svgtv0.png
G dügümü kalan son dügüm. F'den 11 uzakta ve E'den 9 uzakta. Bu nedenle E'yi ve EG'yi isaretliyoruz. Tüm dügümleri ekledigimize göre en hafif kapsayan agaç yesil olarak gözüküyor. Toplan agirligi ise burada 39 oldu.