Algoritmalar II Ders 16 Prim algoritması
Prim Algoritmasi Köşe tabanlı algoritmadır. En küçük örten ağacı bulma algoritmasıdır. Açgözlü yaklaşımla tasarlanmıştır. Verilen başlangıç köşe en küçük örten ağacın kökü olur. Her adımda örten ağaca yeni bir köşe eklenir.
Prim Algoritması updating keys MST-Prim(G,w,r) //G: graph with weight w and a root vertex r 1 for each u Î V[G]{ 2 key[u] ¬ ¥ p[u] ¬ NULL // parent of u } 4 key[r] ¬ 0 5 Q = BuildMinHeap(V,key); // Q – vertices out of T 6 while Q ¹ Æ do 7 u ¬ ExtractMin(Q) // making u part of T 8 for each v Î Adj[u] do 9 if v Î Q and w(u,v) key[v] then 10 p[v] ¬ u 11 key[v] ¬ w(u,v) updating keys
Örnek
Örnek
Örnek
Örnek
Örnek
Örnek
Örnek Extract_min from Q
Örnek
Örnek
Örnek
PRİM ALGORİTMASI İŞLEM SÜRESİ İşlem süresi Q nün nasıl yapıldığına bağlıdır İkili heap için: O(E lg V)