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.