bigo ne demek?

Big O Notasyonu (Büyük O Gösterimi)

Big O notasyonu, bir algoritmanın veya fonksiyonun zaman karmaşıklığını veya bellek karmaşıklığını ifade etmek için kullanılan matematiksel bir gösterimdir. Algoritmanın girdi boyutu arttıkça, kaynak tüketiminin (zaman veya bellek) nasıl büyüdüğünü tanımlar.

Temel Amaç:

Önemli Big O Değerleri ve Anlamları:

  • O(1): Sabit zamanlı. Girdi boyutundan bağımsız olarak algoritmanın çalışma süresi aynıdır.
  • O(log n): Logaritmik zamanlı. Girdi boyutu katlanarak arttıkça çalışma süresi doğrusal olarak artar. (Örn: İkili arama)
  • O(n): Doğrusal zamanlı. Çalışma süresi girdi boyutuyla doğru orantılıdır.
  • O(n log n): Doğrusal logaritmik zamanlı. (Örn: Birleştirme sıralaması, Hızlı sıralama)
  • O(n<sup>2</sup>): Karesel zamanlı. Çalışma süresi girdi boyutunun karesiyle orantılıdır. (Örn: Kabarcık sıralaması)
  • O(2<sup>n</sup>): Üstel zamanlı. Çalışma süresi girdi boyutu arttıkça çok hızlı artar.
  • O(n!): Faktöriyel zamanlı. Çok yavaş algoritmalar.

Dikkat Edilmesi Gerekenler:

  • Big O, sadece asimptotik davranış hakkında bilgi verir. Küçük girdi boyutları için farklı bir algoritma daha hızlı olabilir.
  • Big O notasyonunda sadece en baskın terim dikkate alınır. Örneğin, O(n<sup>2</sup> + n) algoritması O(n<sup>2</sup>) olarak ifade edilir.
  • Sabitler Big O notasyonunda göz ardı edilir. Örneğin, O(2n) algoritması O(n) olarak ifade edilir.

Big O notasyonu, algoritmaların performansını anlamak ve optimize etmek için önemli bir araçtır.