Üç adım
- Algoritmalar kursu
- Orta seviye
- Ders 65/80
- 4 dk
Böl, yönet, birleştir adımlarını öğrenirsin.
Üç adım
Böl ve yönet (divide and conquer) üç adımdan oluşur: böl, yönet, birleştir.
Problem alt problemlere bölünür, her biri recursive çözülür, sonuçlar birleştirilir.
Bu yaklaşım, merge sort, quick sort ve binary search gibi klasik algoritmalarda kullanılır.
Örnek: merge sort
Merge sort bu üç adımı izler: diziyi ikiye böl, her yarıyı sırala, sıralı yarıları birleştir.
Bu yaklaşım O(n log n) süre verir; büyük verilerde verimli çalışır.
Merge sort, böl ve yönetin tipik örneğidir; her adımda dizi ikiye ayrılır.
Uygulama Böl toplam
dc_sum(arr) yaz. Diziyi ikiye böl, yarıların toplamını recursive hesapla, topla. print(dc_sum([1, 2, 3, 4])) ile 10 yazdır.
Başlangıç kodu
def dc_sum(arr):
# Böl ve toplaÖrnek çözüm
def dc_sum(arr):
# Böl ve topla
if len(arr) <= 1:
return sum(arr)
mid = len(arr) // 2
left = dc_sum(arr[:mid])
right = dc_sum(arr[mid:])
return left + right
print(dc_sum([1, 2, 3, 4]))Beklenen çıktı
10
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Böl ve yönet'in adımları hangi sıradadır?
- Böl, yönet, birleştir Doğru cevap
- Böl, birleştir, yönet
- Yönet, böl, birleştir
- Birleştir, böl, yönet
Açıklama: Böl, yönet, birleştir.
2 Alt problem
mid = len(arr) ____ 2
mid = len(arr) // 2
Açıklama: // doğru.
3 Üç adım: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
divide |
Böl |
conquer |
Yönet |
combine |
Birleştir |
recursion |
Kendini çağırır |