Bilgisayar Programcılığı bölümü Test 1

Soru 02 / 10

Bir algoritmanın zaman karmaşıklığı O(n) olarak ifade edildiğinde bu ne anlama gelir?


A) Algoritmanın çalışma süresi girdi boyutuyla doğru orantılıdır
B) Algoritmanın çalışma süresi sabittir
C) Algoritmanın çalışma süresi girdi boyutunun karesiyle orantılıdır
D) Algoritmanın çalışma süresi logaritmiktir

Algoritma Zaman Karmaşıklığı Nedir?

  • Algoritmanın zaman karmaşıklığı, bir algoritmanın çalışma süresinin, işlediği veri miktarı (girdi boyutu) arttıkça nasıl değiştiğini gösteren bir ölçüttür.
  • Bu, algoritmanın ne kadar hızlı çalışacağını veya ne kadar kaynak (zaman) tüketeceğini tahmin etmemize yardımcı olur.

Büyük O Notasyonu (Big O Notation) Nedir?

  • Büyük O notasyonu, algoritmaların performansını, özellikle de en kötü durum senaryosunda çalışma süresinin girdi boyutuna göre nasıl büyüdüğünü matematiksel olarak ifade etmek için kullanılan standart bir yöntemdir.
  • Bu notasyon, algoritmanın çalışma süresini etkileyen sabit faktörleri ve daha yavaş büyüyen terimleri göz ardı ederek, en baskın (dominant) terime odaklanır.

O(n) Ne Anlama Gelir?

  • Buradaki '$n$' harfi, algoritmanın işlediği girdi boyutunu temsil eder. Örneğin, bir listedeki eleman sayısı veya bir dizideki öğe sayısı '$n$' olabilir.
  • Bir algoritmanın zaman karmaşıklığı $O(n)$ olarak ifade edildiğinde, bu, algoritmanın çalışma süresinin girdi boyutu '$n$' ile doğru orantılı olduğu anlamına gelir.
  • Yani, girdi boyutu iki katına çıkarsa, algoritmanın çalışma süresi de yaklaşık olarak iki katına çıkar. Girdi boyutu üç katına çıkarsa, çalışma süresi de yaklaşık üç katına çıkar. Bu ilişki doğrusal bir ilişkidir.
  • Örnek olarak, bir dizideki her elemanı bir kez kontrol eden veya bir listedeki her elemanı bir kez yazdıran basit bir döngü genellikle $O(n)$ zaman karmaşıklığına sahiptir. Çünkü döngü, girdi boyutu kadar tekrar eder.

Seçenekleri Değerlendirelim:

  • A) Algoritmanın çalışma süresi girdi boyutuyla doğru orantılıdır: Bu ifade, $O(n)$ karmaşıklığının tam tanımıdır. Girdi boyutu '$n$' arttıkça, çalışma süresi de aynı oranda artar.
  • B) Algoritmanın çalışma süresi sabittir: Bu durum $O(1)$ (sabit zaman) karmaşıklığını ifade eder. Girdi boyutu ne olursa olsun, algoritma her zaman yaklaşık aynı sürede çalışır. Örneğin, bir dizinin ilk elemanına erişmek.
  • C) Algoritmanın çalışma süresi girdi boyutunun karesiyle orantılıdır: Bu durum $O(n^2)$ (karesel zaman) karmaşıklığını ifade eder. Girdi boyutu iki katına çıkarsa, çalışma süresi dört katına çıkar. Örneğin, iç içe iki döngü.
  • D) Algoritmanın çalışma süresi logaritmiktir: Bu durum $O(\log n)$ (logaritmik zaman) karmaşıklığını ifade eder. Girdi boyutu çok büyük oranlarda artsa bile, çalışma süresi çok yavaş artar. Örneğin, ikili arama (binary search) algoritması.

Bu açıklamalara göre, $O(n)$ karmaşıklığı, algoritmanın çalışma süresinin girdi boyutuyla doğru orantılı olduğunu gösterir.

Cevap A seçeneğidir.

↩️ Soruya Dön
✨ Konuları Gir, Yapay Zeka Saniyeler İçinde Sınavını Üretsin!
1 2 3 4 5 6 7 8 9 10
Geri Dön