Zaman Karmaşıklığı: O(E log E)
Alan Karmaşıklığı: O(V)
Yaklaşım: Kenar tabanlı, Union-Find kullanır
Çalışma Prensibi: Tüm kenarları ağırlığa göre sıralar, döngü oluşturmayan en küçük kenarları ekler
Avantaj: Sparse graflarda verimli
Zaman Karmaşıklığı: O(E log V)
Alan Karmaşıklığı: O(V)
Yaklaşım: Düğüm tabanlı, öncelik kuyruğu kullanır
Çalışma Prensibi: Bir düğümden başlar, her adımda MST'ye en yakın düğümü ekler
Avantaj: Dense graflarda verimli
Prim algoritması, ağırlıklı bağlantılı bir grafın minimum yayılma ağacını (MST) bulmak için kullanılan açgözlü bir algoritmadır. Algoritma, bir düğümden başlayarak her adımda mevcut ağaca en yakın düğümü ekler.
Prim's Algorithm (Prim Algoritması) algoritmasının farklı programlama dillerindeki uygulamaları aşağıda verilmiştir. Her örnek, algoritmanın temel akışını açık şekilde gösterecek biçimde sunulmuştur.
1interface Edge {2 from: string;3 to: string;4 weight: number;5}67function prim(vertices: string[], edges: Edge[], startVertex: string) {8 const mst: Edge[] = [];9 const visited = new Set([startVertex]); 10 11 while (visited.size < vertices.length) {12 let minEdge: Edge | null = null;13 14 for (const edge of edges) {15 const fromVisited = visited.has(edge.from);16 const toVisited = visited.has(edge.to);17 18 if ((fromVisited && !toVisited) || (!fromVisited && toVisited)) {19 if (!minEdge || edge.weight < minEdge.weight) {20 minEdge = edge;21 }22 }23 }24 25 if (!minEdge) break;26 mst.push(minEdge);27 visited.add(minEdge.from);28 visited.add(minEdge.to);29 }30 return mst;31}Aşağıya kendi verilerinizi girerek algoritmanın örnek çalışma akışını görebilirsiniz. Virgülle ayrılmış sayılar veya metin değerleri kullanabilirsiniz.
Girilen veri, algoritmanın pseudo kodundaki genel akışa göre örnek bir sonuca dönüştürülür.
En İyi Durum: O(E log V)
Ortalama Durum: O(E log V)
En Kötü Durum: O(E log V)
O(V) - Bu algoritmanın karmaşıklığı belirtilmemiş.
Prim's Algorithm (Prim Algoritması) ile benzer veya alternatif olarak değerlendirilebilecek diğer başlıklar:
Bu kullanım alanı, algoritmanın benzer problem aileleriyle birlikte incelenmesi için iyi bir başlangıç noktasıdır.
Bu kullanım alanı, algoritmanın benzer problem aileleriyle birlikte incelenmesi için iyi bir başlangıç noktasıdır.
Bu kullanım alanı, algoritmanın benzer problem aileleriyle birlikte incelenmesi için iyi bir başlangıç noktasıdır.