· Algoritmalar  · Tahmini okuma süresi: 1 dakika

Algoritma Karmaşıklığı ve Performans Analizi

Algoritmaların çalışma süresi ve bellek kullanımı gibi performans kriterlerinin değerlendirilmesi.

Algoritmaların çalışma süresi ve bellek kullanımı gibi performans kriterlerinin değerlendirilmesi.

Algoritma Karmaşıklığı Nedir?

Algoritma karmaşıklığı, algoritmanın ne kadar kaynak (zaman, bellek) kullandığını ifade eder. Yazılımda performansı ölçmek ve iyileştirmek için temel göstergedir.


Zaman Karmaşıklığı (Time Complexity)

Bir algoritmanın çalışma süresinin, girdi büyüklüğüne göre nasıl değiştiğini gösterir. Genellikle Big-O notasyonu ile ifade edilir:

  • O(1): Sabit zaman — girdi boyutundan bağımsız.
  • O(log n): Logaritmik zaman — örneğin binary search.
  • O(n): Doğrusal zaman — her elemanı bir kere kontrol eder.
  • O(n log n): Log-linear — çoğu etkili sıralama algoritması.
  • O(n²): Kare zaman — nested döngülerde sık görülür.

Uzay Karmaşıklığı (Space Complexity)

Algoritmanın çalışma sırasında kullandığı ek bellek miktarını gösterir.


Karmaşıklık Analizi Örnekleri

Elemanları tek tek kontrol eder.
Zaman karmaşıklığı: O(n)

Sıralı dizide ortadan bölerek arama yapar.
Zaman karmaşıklığı: O(log n)

3. Bubble Sort

Her elemanı diğerleriyle karşılaştırır.
Zaman karmaşıklığı: O(n²)


Big-O Notasyonu Detayları

Big-O, algoritmanın en kötü durum performansını belirtir. Örneğin:

  • O(1): En hızlı ve ideal.
  • O(n): Girdi büyüdükçe performans doğrusal olarak düşer.
  • O(n²): Girdi arttıkça performans hızla düşer.

Örnek Kod: Linear Search (JavaScript)

function linearSearch(arr, target) {
  for(let i = 0; i < arr.length; i++) {
    if(arr[i] === target) return i;
  }
  return -1;
}
Blog ana sayfasına dön

Önerilen Yazılar

Tüm yazıları gör »