Prim algoritması

Prim Algoritması ağırlıklandırılmış ve bağlı bir çizge üzerinde minimum örten ağaç (minimum spanning tree) problemine çözüm bulma algoritmalardan birisidir.

Çözüm ve sözdekod

Ayrıtların bir alt kümesini, tüm düğümleri kapsayacak ve ayrıtların toplam ağırlığını minimum yapacak şekilde bulur. Bağlı olmayan bir çizgeye uygulandığında sonucu bağlı bileşenlerden yalnız birisi için bulur. Bu algoritma 1930 yılında matematikçi Vojtech Jarnik tarafından bulunmuştur. Daha sonra bağımsız olarak 1957'de bilgisayar bilimcisi Robert C. Prim ve 1959'da Dijkstra tarafından tekrar bulunmuştur. Bu nedenle bu algoritmaya DJP veya Jarnik algoritması da denir.

Sözdekod'u aşağıdaki gibi verilebilir:

  function Prim(çizge N)
  T : kapsayan ağaç
  B : eklenmiş düğümler
  B <- rastgele bir düğüm
  while B<>N do
    e = (u,v) şeklinde en hafif ayrıtı bul oyle ki u B'nin elemanı olsun ve v N\B 'nin elemanı olsun
    T <- T U {e}
    B <- B U {v}
  endwhile
  return T

Örnek

Kaynakça

 Ingilizce Wikepedia "Prim's algorithm" maddesi

Ayrıca bakınız

 Minimum örten ağaç problemi

Dış bağlantılar

 Prim algoritması için animasyonlu çözüm 
 Prim Algoritmasi icin Java Apple)
  Pythom programi kullanarak "Minimum örten ağaç" problemi gosterimi, Ronald L. Rivest 
 Prim Algoritmasi uygulanmasi icin Open Source Java Grafik paketi 

Yöneylem araştırması
Çizge algoritmaları
Örten ağaç