Problemi ayni tipte daha kucuk alt problemlere bolen, alt problemleri cozen ve sonuclari birlestiren tasarim paradigmasidir.
Uc kaynakta divide and conquer, merge sort, binary search, Strassen ve benzeri algoritmalarin ortak dusunce yapisi olarak ele alinir. Etkili olmasi icin alt problemlerin orijinal probleme benzer, birlestirme adiminin ise kontrol edilebilir maliyette olmasi gerekir.
Divide and Conquer için pseudo koddan türetilmiş örnek uygulama iskeletleri aşağıda verilmiştir. Gerçek projelerde veri modeli ve hata kontrolleri probleme göre özelleştirilmelidir.
1/**2 * Divide and Conquer implementation outline3 */4function divideAndConquer(input) {5 // Implement the pseudo code above for your concrete input model.6 // Keep intermediate states visible while testing.7 return {8 input,9 algorithm: 'Divide and Conquer',10 complexity: 'O(n log n)',11 };12}Aşağıya kendi verilerinizi girerek Divide and Conquer akışını örnek bir demo üzerinde izleyebilirsiniz. Virgülle ayrılmış değerler girin veya JSON dizi formatı kullanın.
Girilen veri, algoritmanın temel adımlarına göre örnek bir izleme çıktısına dönüştürülür.
En İyi Durum: O(n log n)
Ortalama Durum: O(n log n)
En Kötü Durum: O(n log n)
O(n) - Çalışma süresi, giriş boyutu ile doğrusal olarak artar.
Aynı kategori veya aynı problem ailesinde değerlendirilebilecek diğer algoritmalar: