1. Arama Algoritmaları
- Amaç: Belirli bir veri kümesinde hedef değeri bulmak.
- Türler ve Örnekler:
- Doğrusal Arama (Linear Search):
- Verileri baştan sona sırayla kontrol ederek hedef değeri arar.
- Örnek: Bir listenin içinde
5
sayısını aramak.
- İkili Arama (Binary Search):
- Veriler sıralı olmalıdır. Her adımda veriyi ikiye böler ve hedefin hangi yarıda olduğunu bulur.
- Örnek:
[1, 3, 5, 7, 9]
içinde 7
aramak.
2. Sıralama Algoritmaları
- Amaç: Verileri artan veya azalan sırada düzenlemek.
- Türler ve Örnekler:
- Bubble Sort (Kabarcık Sıralama):
- Her iki komşu elemanı karşılaştırır ve yanlış sıradaysa yer değiştirir.
- Örnek:
[4, 2, 3, 1]
→ [2, 4, 3, 1]
→ [2, 3, 4, 1]
→ [2, 3, 1, 4]
→ [1, 2, 3, 4]
.
- Quick Sort (Hızlı Sıralama):
- Pivot eleman seçilir, küçükler sola, büyükler sağa ayrılır. Rekürsif olarak çalışır.
- Örnek:
[7, 2, 1, 6, 8]
→ Pivot 7
seçilir, [2, 1, 6]
sola, [8]
sağa.
- Merge Sort (Birleştirme Sıralama):
- Dizi küçük parçalara ayrılır ve sıralandıktan sonra birleştirilir.
- Örnek:
[4, 1, 3, 2]
→ [4, 1]
, [3, 2]
→ [1, 4]
, [2, 3]
→ [1, 2, 3, 4]
.
3. Dinamik Programlama Algoritmaları
- Amaç: Büyük bir problemi alt problemlere bölerek çözmek ve ara sonuçları saklamak.
- Özellik: Önceki alt problemlerin çözümleri tekrar kullanılabilir.
- Örnek: Fibonacci dizisini hesaplama.
- Fibonacci:
0, 1, 1, 2, 3, 5, 8, ...
- Geleneksel Yöntem (rekürsif)
- Dinamik Programlama Yöntemi
4. Böl ve Fethet Algoritmaları (Divide and Conquer)
- Amaç: Problemi daha küçük alt problemlere ayırarak çözmek.
- Örnekler:
- Merge Sort.
- Binary Search.
- Örnek: 1’den 10’a kadar toplam bulma (rekürsif)
5. Greedy (Açgözlü) Algoritmalar
- Amaç: Her adımda en iyi görünen seçimi yapar.
- Özellik: Çözüm her zaman en optimal olmayabilir.
- Örnekler:
- Para Bozdurma Problemi:
- Bir toplam için en az madeni para bulma (örn.
93 kuruş
için: 50 kuruş, 20 kuruş x 2, 2 kuruş x 3).
6. Graf Algoritmaları
- Amaç: Grafik yapılarını (düğümler ve kenarlar) işlemek.
- Örnekler:
- Dijkstra Algoritması:
- En kısa yolu bulmak.
- Örnek: Bir şehir haritasında en kısa yolun hesaplanması.
- Derinlik Öncelikli Arama (DFS) ve Genişlik Öncelikli Arama (BFS):
- Graf üzerinde arama yapmak.
7. İteratif ve Rekürsif Algoritmalar
- İteratif Algoritmalar:
- Döngülerle tekrar eden işlemleri gerçekleştirir.
- Örnek: Faktöriyel hesaplama
- Rekürsif Algoritmalar:
- Kendi kendini çağırarak çalışır.
- Örnek: Faktöriyel hesaplama
8. Geri İzleme (Backtracking) Algoritmaları
- Amaç: Çözümde başarısız olunursa bir önceki adıma dönerek başka bir çözüm yolu arar.
- Örnek: N-Queen Problemi (Satranç tahtasında N veziri birbirine tehdit etmeyecek şekilde yerleştirme).
9. Brute Force (Kaba Kuvvet) Algoritmaları
- Amaç: Tüm olasılıkları deneyerek çözüm bulur.
- Özellik: Basit ama genelde yavaş bir yöntemdir.
- Örnek:
abc
kelimesinin permütasyonlarını üretmek.
10. Makine Öğrenimi ve Yapay Zeka Algoritmaları
- Amaç: Verilerden öğrenmek ve tahmin yapmak.
- Örnekler:
- K-Means Kümeleme: Verileri gruplara ayırır.
- Karar Ağaçları: Karar verme süreçlerini modellemek.