|
1. hafta |
Algoritma Nedir? Karmaşıklık Analizi Tekrarı (O, Ω, Θ), En İyi/Ortalama/En Kötü Durum. |
|
2. hafta |
Böl ve Fethet I: Merge Sort ve Quick Sort Analizi. Özyinelemeli Denklemler. |
|
3. hafta |
Böl ve Fethet II: Master Teorem ve uygulamaları. |
|
4. hafta |
Açgözlü Algoritmalar I: Kavram, Aktivite Seçim Problemi. |
|
5. hafta |
Açgözlü Algoritmalar II: Kısmi Sırt Çantası Problemi, Huffman Kodlaması. |
|
6. hafta |
Açgözlü Algoritmalar III: Minimum Yayılan Ağaç - Kruskal Algoritması. |
|
7. hafta |
Açgözlü Algoritmalar IV: Minimum Yayılan Ağaç - Prim Algoritması. |
|
8. hafta |
Graf Algoritmaları: En Kısa Yol I - Dijkstra Algoritması. |
|
9. hafta |
Graf Algoritmaları: En Kısa Yol II - Bellman-Ford Algoritması (Negatif ağırlıklar). |
|
10. hafta |
Dinamik Programlama I: Kavram (Optimal Alt Yapı, Üst Üste Binen Alt Problemler). |
|
11. hafta |
Dinamik Programlama II: Memoizasyon ve Tablo. Sırt Çantası Problemi. |
|
12. hafta |
Dinamik Programlama III: En Uzun Ortak Alt Dizi. |
|
13. hafta |
Metin Eşleştirme: Naive Yaklaşım, KMP Algoritması. |
|
14. hafta |
NP-Tamlık Teorisi: P, NP, NP-Hard sınıfları. İndirgeme kavramı. |