Master Teoremi
Bu rehberde, master teoremin ne olduğunu ve tekrarlayan ilişkileri çözmek için nasıl kullanıldığını öğreneceksiniz.
Master teoremi, aşağıdaki formun tekrarlayan ilişkilerini çözmek için bir formüldür:
T(n) = aT(n/b) + f(n)
n = girdi sayısı
a = rekürsifteki alt problemlerin sayısı
n/b = Her alt problemin boyutu. Her alt problemin
aynı boyuta sahip olduğu varsayılır
f(n) = Problemi bölmenin maliyeti ve
alt problemleri birleştirme maliyeti dahil
rekürsif problemin dışında yapılan işin maliyeti
Asimptotik olarak pozitif bir fonksiyon, yeterince büyük bir n
değeri için f(n) > 0
‘a sahip olduğu anlamına gelir.
Master Teoremi
Eğer a ≥ 1 ve b > 1 sabit ise ve f(n) asimptotik olarak pozitif bir fonksiyon ise, o zaman rekürsif bir ilişkinin zaman karmaşıklığı aşağıdaki şekilde verilir.
T(n) = aT(n/b) + f(n) T(n) aşağıdaki asimptotik sınırlara sahiptir: 1. If f(n) = O(nlogb a-ϵ) => T(n) = Θ(nlogb a ). 2. If f(n) = Θ(nlogba)) => T(n) = Θ(nlogba * log n). 3. If f(n) = Ω(nlogb a+ϵ)) => T(n) = Θ(f(n)).
Yukarıdaki koşulların her biri şu şekilde yorumlanabilir:
Her düzeydeki alt problemleri çözmenin maliyeti belirli bir faktör kadar artarsa,
f(n)
‘nin değeri nlogba ‘dan polinomsal olarak daha küçük olacaktır. Bu durumda zaman karmaşıklığı nlogba olacaktırHer düzeyde alt problemi çözmenin maliyeti hemen hemen eşitse,
f(n)
‘nin değeri nlogba olacaktır. Bu durumda zaman karmaşıklığınlogba * log n olacaktırHer seviyedeki alt problemleri çözmenin maliyeti belirli bir faktör kadar azalırsa,
f(n)
‘nin değeri nlogba‘dan polinomsal olarak daha büyük olacaktır. Bu durumda zaman karmaşıklığıf(n)
olacaktır.
Master Teoremin Çözülmüş Örneği
T(n) = 3T(n/2) + n2
Buradan,
a = 3
n/b = n/2
f(n) = n2
logb a = log2 3 ≈ 1.58 < 2
f(n) < nlogb a+ϵ , burada ϵ sabit bir sayıdır.
3.Durum buraya uyuyor
Sonuç olarak, T(n) = f(n) = Θ(n2)
Master Teorem Sınırlamaları
Master Teorem aşağıdaki durumlarda kullanılamaz:
T(n)
eğer tekdüze bir fonksiyon değilse. Örnek:T(n) = sin n
T(n)
eğer polinom fonksiyonu değilse. Örnek:f(n) =2
n
a
eğer sabit bir sayı değilse. Örnek:a=2n
a < 1