Genel

ALGORİTMA TÜRLERİ

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.

Bir cevap yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir