algoritmaların Çözümlemesi
TRANSCRIPT
![Page 1: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/1.jpg)
Algoritmalara Giriş6.046J/18.401J
DERS 1Algoritmaların Çözümlemesi• Araya yerleştirme sıralaması• Asimptotik çözümleme • Birleştirme sıralaması• Yinelemeler
Prof. Charles E. LeisersonCopyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
![Page 2: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/2.jpg)
September 7, 2005 Introduction to Algorithms L1.2
Dersle ilgili bilgiler
1. Öğretim kadrosu2. Uzaktan eğitim3. Ön koşullar4. Dersler5. Etütler6. Ders notları7. Ders kitabı
8. Dersin WEB sitesi9. Ek destek10. Kayıt 11. Problem setleri12. Algoritmaları tanımlamak13. Not verme politikası14. Ortak çalışma politikası
![Page 3: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/3.jpg)
September 7, 2005 Introduction to Algorithms L1.3Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Algoritmaların çözümlemesi
Bilgisayar program başarımı ve kaynak kullanımı konusunda teorik çalışmalar
Başarımdan daha önemli ne vardır ? • modülerlik• doğruluk• bakım kolaylığı• işlevsellik• sağlamlık
• kullanıcı dostluğu• programcı zamanı• basitlik • genişletilebilirlik• güvenilirlik
![Page 4: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/4.jpg)
September 7, 2005 Introduction to Algorithms L1.4Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Neden algoritmalar ve başarımla uğraşırız?
• Algoritmalarla ölçeklenebilirlik anlaşılabilir. • Başarım genelde yapılabilir olanla imkansızın
arasındaki çizgiyi tanımlar.• Algoritmik matematik program davranışlarını
açıklamak için ortak dil oluşturur.•Başarım bilgi işleme'nin para birimidir.• Program başarımından alınan dersler
diğer bilgi işleme kaynaklarına genellenebilir. •Hız eğlencelidir!
![Page 5: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/5.jpg)
September 7, 2005 Introduction to Algorithms L1.5Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Sıralama (sorting) problemi
Girdi: dizi ⟨a1, a2, …, an⟩ sayıları.
Çıktı: permütasyon ⟨a'1, a'2, …, a'n⟩ öyle ki a'1 ≤ a'2 ≤ … ≤ a'n .
Örnek:Girdi: 8 2 4 9 3 6
Çıktı: 2 3 4 6 8 9
![Page 6: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/6.jpg)
September 7, 2005 Introduction to Algorithms L1.6Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Araya yerleştirme sıralaması (Insertion sort)
INSERTION-SORT (A, n) ⊳ A[1 . . n]for j ← 2 to n
do key ← A[ j]i ← j – 1while i > 0 and A[i] > key
do A[i+1] ← A[i]i ← i – 1
A[i+1] = key (anahtar)
“pseudocode” ( sözdekod )
![Page 7: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/7.jpg)
September 7, 2005 Introduction to Algorithms L1.7Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
INSERTION-SORT (A, n) ⊳ A[1 . . n]for j ← 2 to n
do key ← A[ j]i ← j – 1while i > 0 and A[i] > key
do A[i+1] ← A[i]i ← i – 1
A[i+1] = key
“pseudocode” (sözde kod)
sorted (sıralı)
i j
key (anahtar)A:
1 n
Araya yerleştirme sıralaması (Insertion sort)
![Page 8: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/8.jpg)
September 7, 2005 Introduction to Algorithms L1.8Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Araya yerleştirme sıralaması örneği
8 2 4 9 3 6
![Page 9: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/9.jpg)
September 7, 2005 Introduction to Algorithms L1.9Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Araya yerleştirme sıralaması örneği
8 2 4 9 3 6
![Page 10: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/10.jpg)
September 7, 2005 Introduction to Algorithms L1.10Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Araya yerleştirme sıralaması örneği
8 2 4 9 3 6
2 8 4 9 3 6
![Page 11: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/11.jpg)
September 7, 2005 Introduction to Algorithms L1.11Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Araya yerleştirme sıralaması örneği
8 2 4 9 3 6
2 8 4 9 3 6
![Page 12: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/12.jpg)
September 7, 2005 Introduction to Algorithms L1.12Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Araya yerleştirme sıralaması örneği
8 2 4 9 3 6
2 8 4 9 3 6
2 4 8 9 3 6
![Page 13: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/13.jpg)
September 7, 2005 Introduction to Algorithms L1.13Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Araya yerleştirme sıralaması örneği
8 2 4 9 3 6
2 8 4 9 3 6
2 4 8 9 3 6
![Page 14: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/14.jpg)
September 7, 2005 Introduction to Algorithms L1.14Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Araya yerleştirme sıralaması örneği
8 2 4 9 3 6
2 8 4 9 3 6
2 4 8 9 3 6
2 4 8 9 3 6
![Page 15: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/15.jpg)
September 7, 2005 Introduction to Algorithms L1.15Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Araya yerleştirme sıralaması örneği
8 2 4 9 3 6
2 8 4 9 3 6
2 4 8 9 3 6
2 4 8 9 3 6
![Page 16: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/16.jpg)
September 7, 2005 Introduction to Algorithms L1.16Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Araya yerleştirme sıralaması örneği
8 2 4 9 3 6
2 8 4 9 3 6
2 4 8 9 3 6
2 4 8 9 3 6
2 3 4 8 9 6
![Page 17: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/17.jpg)
September 7, 2005 Introduction to Algorithms L1.17Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Araya yerleştirme sıralaması örneği
8 2 4 9 3 6
2 8 4 9 3 6
2 4 8 9 3 6
2 4 8 9 3 6
2 3 4 8 9 6
![Page 18: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/18.jpg)
September 7, 2005 Introduction to Algorithms L1.18Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Araya yerleştirme sıralaması örneği
8 2 4 9 3 6
2 8 4 9 3 6
2 4 8 9 3 6
2 4 8 9 3 6
2 3 4 8 9 6
2 3 4 6 8 9 (bitti)
![Page 19: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/19.jpg)
September 7, 2005 Introduction to Algorithms L1.19Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Koşma süresi (Running time)
• Koşma süresi girişe bağımlıdır: Öncedensıralanmış bir diziyi sıralamak daha kolaydır.
• Koşma süresinin girişin boyutuna göre parametrelenmesi yararlıdır, çünkü kısa dizileri sıralamak uzun dizilere oranla daha kolaydır.
• Genellikle, koşma süresinde üst sınırları ararız, çünkü herkes garantiden hoşlanır.
![Page 20: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/20.jpg)
September 7, 2005 Introduction to Algorithms L1.20Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Çözümleme türleriEn kötü durum (Worst-case): (genellikle)
• T(n) = n boyutlu bir giriştealgoritmanın maksimum süresi
Ortalama durum: (bazen)• T(n) = n boyutlu her girişte
algoritmanın beklenen süresi.• Girişlerin istatistiksel dağılımı için
varsayım gerekli.En iyi durum: (gerçek dışı)
• Bir giriş yapısında hızlı çalışan yavaş bir algoritma ile hile yapmak.
![Page 21: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/21.jpg)
September 7, 2005 Introduction to Algorithms L1.21Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Makineden-bağımsız zaman
Araya yerleştirme sıralamasının en kötü zamanı nedir?• Bilgisayarın hızına bağlıdır:
• bağıl ( rölatif ) zaman ( aynı makinede),• mutlak (absolüt ) zaman (farklı makinelerde).
BÜYÜK FİKİR:•Makineye bağımlı sabitleri görmezden gel.• n →∞ ' a yaklaştıkça, T(n)'nin büyümesine bak.
“Asem " Asimptotik Çözümleme"
![Page 22: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/22.jpg)
September 7, 2005 Introduction to Algorithms L1.22Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Θ- simgelemi (notation)
• Düşük değerli terimleri at; ön sabitleri ihmal et.• Örnek: 3n3 + 90n2 – 5n + 6046 = Θ(n3)
Matematik: Θ(g(n)) = { f (n) : Öyle c1, c2, n0 pozitif sabit sayıları vardır ki tüm n ≥ n0} için 0 ≤ c1 g(n) ≤ f (n) ≤ c2 g(n).
Mühendislik:
![Page 23: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/23.jpg)
September 7, 2005 Introduction to Algorithms L1.23Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Asimptotik başarım
n
T(n)
n0
• Öte yandan asimptotik açıdan yavaş algoritmalarıihmal etmemeliyiz.
• Gerçek dünyada tasarımın mühendislik hedefleriyle dikkatle dengelenmesi gereklidir.
• Asimptotik çözümlemedüşüncemizi yapılandırmada önemli bir araçtır.
n yeterince büyürse, Θ(n2) algoritması bir Θ(n3) algoritmasından her zaman daha hızlıdır.
![Page 24: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/24.jpg)
September 7, 2005 Introduction to Algorithms L1.24Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Araya yerleştirme sıralaması çözümlemesi En kötü durum: Giriş tersten sıralıysa.
( )∑=
Θ=Θ=n
jnjnT
2
2)()(
Ortalama durum:Tüm permutasyonlar eşit olasılıklı.
( )∑=
Θ=Θ=n
jnjnT
2
2)2/()(
[aritmetik seri]
Araya yerleştirme sıralaması hızlı bir algoritma mıdır ?• Küçük n değerleri için olabilir.• Büyük n değerleri için asla!
![Page 25: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/25.jpg)
September 7, 2005 Introduction to Algorithms L1.25Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Birleştirme sıralaması
BİRLEŞTİRME-SIRALAMASI A[1 . . n]1. Eğer n = 1 ise, işlem bitti.2. A[ 1 . . ⎡n/2⎤ ]ve
A[ ⎡n/2⎤+1 . . n ]'yi özyinelemeli sırala.3. 2 sıralanmış listeyi “Birleştir”.
Anahtar altyordam: Birleştirme
![Page 26: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/26.jpg)
September 7, 2005 Introduction to Algorithms L1.26Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Sıralı iki dizilimi birleştirme
12
11
9
1
20
13
7
2
![Page 27: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/27.jpg)
September 7, 2005 Introduction to Algorithms L1.27Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
20
13
7
2
12
11
9
1
1
Sıralı iki dizilimi birleştirme
![Page 28: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/28.jpg)
September 7, 2005 Introduction to Algorithms L1.28Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
20
13
7
2
12
11
9
1
1
20
13
7
2
12
11
9
Sıralı iki dizilimi birleştirme
![Page 29: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/29.jpg)
September 7, 2005 Introduction to Algorithms L1.29Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
20
13
7
2
12
11
9
1
1
20
13
7
2
12
11
9
2
Sıralı iki dizilimi birleştirme
![Page 30: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/30.jpg)
September 7, 2005 Introduction to Algorithms L1.30Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
20
13
7
2
12
11
9
1
1
20
13
7
2
12
11
9
2
20
13
7
12
11
9
Sıralı iki dizilimi birleştirme
![Page 31: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/31.jpg)
September 7, 2005 Introduction to Algorithms L1.31Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
20
13
7
2
12
11
9
1
1
20
13
7
2
12
11
9
2
20
13
7
12
11
9
7
Sıralı iki dizilimi birleştirme
![Page 32: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/32.jpg)
September 7, 2005 Introduction to Algorithms L1.32Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
20
13
7
2
12
11
9
1
1
20
13
7
2
12
11
9
2
20
13
7
12
11
9
7
20
13
12
11
9
Sıralı iki dizilimi birleştirme
![Page 33: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/33.jpg)
September 7, 2005 Introduction to Algorithms L1.33Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
20
13
7
2
12
11
9
1
1
20
13
7
2
12
11
9
2
20
13
7
12
11
9
7
20
13
12
11
9
9
Sıralı iki dizilimi birleştirme
![Page 34: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/34.jpg)
September 7, 2005 Introduction to Algorithms L1.34Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
20
13
7
2
12
11
9
1
1
20
13
7
2
12
11
9
2
20
13
7
12
11
9
7
20
13
12
11
9
9
20
13
12
11
Sıralı iki dizilimi birleştirme
![Page 35: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/35.jpg)
September 7, 2005 Introduction to Algorithms L1.35Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
20
13
7
2
12
11
9
1
1
20
13
7
2
12
11
9
2
20
13
7
12
11
9
7
20
13
12
11
9
9
20
13
12
11
11
Sıralı iki dizilimi birleştirme
![Page 36: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/36.jpg)
September 7, 2005 Introduction to Algorithms L1.36Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
20
13
1220
13
7
2
12
11
9
1
1
20
13
7
2
12
11
9
2
20
13
7
12
11
9
7
20
13
12
11
9
9
20
13
12
11
11
Sıralı iki dizilimi birleştirme
![Page 37: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/37.jpg)
September 7, 2005 Introduction to Algorithms L1.37Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
20
13
7
2
12
11
9
1
1
20
13
7
2
12
11
9
2
20
13
7
12
11
9
7
20
13
12
11
9
9
20
13
12
11
11
20
13
12
12
Sıralı iki dizilimi birleştirme
![Page 38: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/38.jpg)
September 7, 2005 Introduction to Algorithms L1.38Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
20
13
7
2
12
11
9
1
1
20
13
7
2
12
11
9
2
20
13
7
12
11
9
7
20
13
12
11
9
9
20
13
12
11
11
20
13
12
12
Süre = Θ(n), toplam n elemanıbirleştirmek için (doğrusal zaman).
Sıralı iki dizilimi birleştirme
![Page 39: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/39.jpg)
September 7, 2005 Introduction to Algorithms L1.39Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Birleştirme sıralamasının çözümlenmesi
BİRLEŞTİRME-SIRALAMASI A[1 . . n]1. Eğer n = 1'se, bitir.2. Yinelemeli olarak A[ 1 . . ⎡n/2⎤ ] ve
A[ ⎡n/2⎤+1 . . n ]'yi sırala.3. 2 sıralı listeyi “Birleştir”
T(n)Θ(1)2T(n/2)
Θ(n)Suistimal
Özensizlik: T( ⎡n/2⎤ ) + T( ⎣n/2⎦ ) olması gerekir, ama asimptotik açıdan bu önemli değildir.
![Page 40: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/40.jpg)
September 7, 2005 Introduction to Algorithms L1.40Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Birleştirme sıralaması için yineleme
T(n) =Θ(1) eğer n = 1ise;2T(n/2) + Θ(n) eğer n > 1ise.
• Genellikle n'nin küçük değerleri için taban durumu ( base case ) olan T(n) = Θ(1) 'i hesaplara katmayacağız; ama bunu sadece yinelemenin asimptotik çözümünü
etkilemiyorsa yapacağız. • 2. Derste T(n)'nin üst sınırını bulmanın birkaç yolunu inceleyeceğiz.
![Page 41: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/41.jpg)
September 7, 2005 Introduction to Algorithms L1.41Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Yineleme ağacı T(n) = 2T(n/2) + cn'yi çözün; burada c > 0 bir sabittir.
![Page 42: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/42.jpg)
September 7, 2005 Introduction to Algorithms L1.42Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir.
T(n)
![Page 43: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/43.jpg)
September 7, 2005 Introduction to Algorithms L1.43Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir.
T(n/2) T(n/2)
cn
![Page 44: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/44.jpg)
September 7, 2005 Introduction to Algorithms L1.44Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir.
cn
T(n/4) T(n/4) T(n/4) T(n/4)
cn/2 cn/2
![Page 45: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/45.jpg)
September 7, 2005 Introduction to Algorithms L1.45Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir.'i çözün; burada c > 0 bir sabittir.
cn
cn/4 cn/4 cn/4 cn/4
cn/2 cn/2
Θ(1)
…
![Page 46: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/46.jpg)
September 7, 2005 Introduction to Algorithms L1.46Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir.
cn
cn/4 cn/4 cn/4 cn/4
cn/2 cn/2
Θ(1)
…
h = lg n
![Page 47: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/47.jpg)
September 7, 2005 Introduction to Algorithms L1.47Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir.
cn
cn/4 cn/4 cn/4 cn/4
cn/2 cn/2
Θ(1)
…
h = lg n
cn
![Page 48: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/48.jpg)
September 7, 2005 Introduction to Algorithms L1.48Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir.
cn
cn/4 cn/4 cn/4 cn/4
cn/2 cn/2
Θ(1)
…
h = lg n
cn
cn
![Page 49: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/49.jpg)
September 7, 2005 Introduction to Algorithms L1.49Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir.
cn
cn/4 cn/4 cn/4 cn/4
cn/2 cn/2
Θ(1)
…
h = lg n
cn
cn
cn
…
![Page 50: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/50.jpg)
September 7, 2005 Introduction to Algorithms L1.50Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir.
cn
cn/4 cn/4 cn/4 cn/4
cn/2 cn/2
Θ(1)
…
h = lg n
cn
cn
Θ(n)
…
cn
yaprak sayısı = n
![Page 51: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/51.jpg)
September 7, 2005 Introduction to Algorithms L1.51Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir.
cn
cn/4 cn/4 cn/4 cn/4
cn/2 cn/2
Θ(1)
…
h = lg n
cn
cn
cn
yaprak sayısı = n Θ(n)
…
Toplam = Θ(n lg n)
cn
yaprak sayısı = n
![Page 52: Algoritmaların Çözümlemesi](https://reader034.vdocuments.site/reader034/viewer/2022042707/577cc9cc1a28aba711a4a5d9/html5/thumbnails/52.jpg)
September 7, 2005 Introduction to Algorithms L1.52Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Sonuçlar
• Θ(n lg n), Θ(n2)'dan daha yavaş büyür.
• En kötü durumda, birleştirme sıralaması asimptotik olarak araya yerleştirme sıralamasından daha iyidir.
• Pratikte, birleştirme sıralaması araya yerleştirme sıralamasını n > 30 değerlerinde geçer.
• Bunu kendiniz deneyin!