How it works?
Coddy'nin Kruskal Algoritması - Graf Algoritmaları kursunda ders 3 / 9.
Union-find bir parent dizisi tutar. Her köşe kendi kökü olarak başlar. Her şeyi iki işlem yönetir:
- find(x): bir köke (kendi kendisinin ebeveyni olan bir köşe) ulaşana kadar
parentbağlantılarını takip edin. İki köşe, aynı kökü paylaştıklarında birbirine bağlıdır. - union(a, b): bir kökü diğerine yönlendirerek iki kümeyi birleştirin.
Kruskal Algoritması:
- Kenarları en küçük ağırlıktan en büyüğe doğru işleyin.
- Her kenar için uç noktalarının köklerini
findile bulun. Eğer farklılarsa, kenar iki ayrı parçayı birleştirir: onlarıunionile birleştirin ve ağırlığını toplama ekleyin. - Eğer kökler aynıysa, kenar bir döngü oluşturacaktır, bu yüzden onu atlayın.
Her kenar işlendikten sonra, seçilen kenarlar MST'yi oluşturur (bağlantılı bir grafik için bunlardan tam olarak n - 1 tanesi).
Kendin dene
Bu ders bir kod alıştırması içermiyor.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Kruskal Algoritması - Graf Algoritmaları bölümündeki tüm dersler
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)