Professional Documents
Culture Documents
Algoritma Analizi Hafta 5
Algoritma Analizi Hafta 5
Hafta-5
KABA KUVVET ALGORİTMALARI
Brute Force Algorithm
• Kaba Kuvvet (Brute Force)
✓ Bir problemi çözmek için en basit yaklaşım
✓ Bu problemlerin çözümü çok büyük bir olasılık sınıfına sahiptir.
✓ Tüm olası çözümler denenir.
✓ Genellikle problemin tanımına ve konseptine bağımlıdır
✓ Genellikle uygulaması en basit çözümdür
✓ Tüm ihtimaller denenir ve doğru çözüme ulaşılmaya çalışılır.
• En temel örnekler
✓ an hesaplanması
✓ n! Hesaplanması
✓ İki matrisin çarpımı
✓ Bir dizide bir elemanın aranması
✓ Bir şifreyi kırmak için tüm olası kombinasyonları denemek
KABA KUVVET ALGORİTMALARI
Brute Force Algorithm
• Kaba Kuvvet (Brute Force) Dezavantajları
✓ Çok zaman alabilir.
✓ Zaman verimliliği düşük olabilir.
✓ Çok fazla bellek gerektirebilir.
Selection Sort
• Dizinin içerisindeki en küçük eleman bulunur
• 1. sıradaki elemanla yer değiştirilir
• En küçük bulma işlemi dizinin ikinci elemanından başlanılarak tekrar
edilir.
• Bulunan en küçük değer 2. sıradaki elemanla yer değiştirir
• Bu işlem dizinin son elemanına kadar devam eder.
Selection Sort
Selection Sort
• Dizi selection sort algoritmasına göre sıralanmak isteniyor
• 1. iterasyon
0 1 2 3
3 5 -1 7
0 1 2 3
-1 3 5 7 Dizinin sıralanmış hali
Selection Sort Algorithm
Temel işlem : Karşılaştırma işlemi
σ𝑛−2 σ 𝑛−1
𝑖=0 𝑗=𝑖+1 1= σ 𝑛−2
𝑖=0 𝑛 − 1 − (𝑖 + 1) =(n-1) σ 𝑛−2
𝑖=0 1 − σ 𝑛−2
𝑖=0 𝑖
𝑛−1 .𝑛
=(n-1).(n-1)-((n-2).(n-1) /2)=(n-1)[(n-1)-(n-2)/2]= , θ(n2)
2
Selection sort algoritması:
In Place bir algoritma: Fazladan bellek gerektirmez. Sıralama işlemlerini yaparken
diziyi farklı bir diziye kopyalamaya ya da alt dizilere bölmeye gerek yoktur. )
Stable bir algoritma: Dizideki eşit iki öğenin sırasını korur. Takas işlemi her zaman
dizinin sıralanmamış kısmında en küçük eleman ile yapılacaktır. Bu durumda eşit
elemanlar arasında takas işlemi yapılmaz ve konumları korunmuş olur.
Bubble Sort Algorithm
Bubble Sort Algorithm
1. iterasyon
i=0 i=0 i=0
J=0 J=1 J=2
90 4 10 30 -1 4 90 10 30 -1 4 10 90 30 -1
i=0
J=3
4 10 30 90 -1 4 10 30 -1 90
4 adım
Bubble Sort Algorithm
2. iterasyon
i=1 i=1 i=1
J=0 J=1 J=2
4 10 30 -1 90 4 10 30 -1 90 4 10 30 -1 90
4 10 -1 30 90
3 adım
Bubble Sort Algorithm
3. iterasyon
i=2 i=2
J=0 J=1
4 10 -1 30 90 4 10 -1 30 90 4 -1 10 30 90
2 adım
Bubble Sort Algorithm
4. iterasyon
i=3
J=0
4 -1 10 30 90 -1 4 10 30 90
1 adım
Bubble Sort Algorithm
shell
shell Match and return index of the position
String Match Algorithm (Substring Search)
n-m
n T
m P
0 to n-m
String Match Algorithm (Substring Search)
• Worst Case
• Aranan örüntünün bulunamaması
• Her seferinde (n-m+1 kez) m. karakter karşılaştırmasında uyumsuzluk çıkması
Zaman verimliliği:
σ𝑛−𝑚
𝑖=0 σ 𝑚 2
𝑗=0 1 =mn-m +m Ο(mn) m≤n
Exhaustive Search
job
*Hungarian Method