+2 Daha
Büyük O Notasyonu (Big-O Notation), bilgisayar bilimlerinde algoritmaların verimliliğini ölçmek için kullanılan temel asimptotik analiz araçlarından biridir. Bu notasyon, bir algoritmanın çalışma süresinin veya bellek kullanımının, girdi boyutuna bağlı olarak ne şekilde büyüdüğünü teorik bir çerçevede ifade eder. Big-O, belirli bir fonksiyonun üst sınırını tanımlamak amacıyla kullanılır ve bu yönüyle algoritmaların karmaşıklık analizinde temel bir ölçü birimi hâline gelmiştir.
Terim, Almanca Ordnung (sıra, düzen) kelimesinden türetilmiş olup 1894 yılında Paul Bachmann tarafından “Analytische Zahlentheorie” isimli eserinde tanıtılmıştır. Donald Knuth’un bu kavramı sistematik olarak bilgisayar bilimine kazandırmasıyla modern algoritma analizinin vazgeçilmez bir unsuru olmuştur.
Bir fonksiyon f(n), başka bir fonksiyon g(n) cinsinden Büyük O notasyonu ile ifade edildiğinde, f(n) = O(g(n)) şeklinde gösterilir. Bu ifade, f(n) fonksiyonunun g(n) fonksiyonunun sabit bir katından büyük olamayacağını söyler. Daha resmi tanımıyla:
Tanım: f(n) = O(g(n)) ise ve ancak ancak pozitif sabitler c ve k var ise:
Burada c ve k sabitleri sabittir ve n'ye bağlı değildir. Bu tanım, Big-O kavramının temel amacını ortaya koyar: Algoritmanın en kötü durumda nasıl davrandığını anlamak.
Büyük O Notasyonu’nun temel işlevi, algoritmaların çalışma süresi veya bellek gereksiniminin giriş boyutuna bağlı olarak nasıl büyüdüğünü göstermektir. Bu bağlamda, asimptotik üst sınır kavramı, bir algoritmanın performansının en kötü durumda alabileceği maksimum değeri temsil eder. Bu, algoritmanın pratikte her zaman bu süreyi harcayacağı anlamına gelmez; ancak en olumsuz senaryoda bile belirli bir üst sınırın aşılmayacağını garanti eder.
Formel olarak, bir fonksiyon f(n) için asimptotik üst sınır şöyle ifade edilir:
Buradaki g(n), karşılaştırma fonksiyonu olup, f(n) fonksiyonunun büyüme hızını kontrol altında tutacak referans değeridir. Sabit c ve başlangıç noktası k, yalnızca f ve g fonksiyonlarına bağlıdır, n’ye bağlı değildir. Böylece analiz, donanıma, dile veya derleyiciye bağlı olmaksızın algoritmanın temel büyüme eğilimini ortaya koyar.
Big-O notasyonunun kuramsal gücü, bazı temel özellikleri sayesinde sağlam temellere oturur:
Her fonksiyon kendisiyle aynı sınıfa dahildir:
Büyüme sınıfları zincirleme aktarılabilir:
Sabitler asimptotik büyümeyi etkilemez:
Bir algoritmanın karmaşıklığı genelde giriş boyutu n cinsinden ifade edilir. Bazı yaygın sınıflar şunlardır:
Big-O Notasyonu, hesaplamalı karmaşıklık teorisinin de temelidir. P ve NP sınıfları, polinom zamanda çözülebilirlik (O(n^c)) veya üssel/faktöriyel zaman (O(2ⁿ), O(n!)) gibi sınıflar üzerinden tanımlanır.
Bir algoritmanın polinom zamanda çalışması (O(n^k)) genelde uygulanabilirlik ölçütü olarak kabul edilir. Aksi hâlde problem NP-Zor ya da NP-Tam olarak sınıflandırılabilir.
Kaynak metinlerinde Big-O ve Big-Θ kavramlarının otomata kuramındaki özel kullanımları da tartışılmıştır. Bazı ağırlıklı otomatlarda, bir durumu Big-O cinsinden test etmek, Big-Θ’ya dönüştürülebilir. Cook ve Karp indirgemeleri, bir karar probleminin başka bir problem üzerinden çözülebileceğini gösterir.
Ayrıca “Eventually Big-O” kavramı, sonsuz uzunlukta sözcüklerde Big-O sınırlarının sağlanması gerektiğini belirtir. Bazı semiringlerde (örneğin tropikal semiring) bu tür kapsama problemleri karara bağlanabilirken, bazılarında kararsız (undecidable) olabilir.
Chistikov, Dmitry, Stefan Kiefer, Andrzej S. Murawski, and David Purser. "The big-O problem." Logical Methods in Computer Science 18 (2022). Erişim Adresi.
Danziger, P. "Big o notation." Source internet: http://www. scs. ryerson. ca/mth110/Handouts/PD/bigO. pdf, Retrieve: April 1, no. 1 (2010): 6. Erişim Adresi.
Geeksforgeeks. "Big O Notation Tutorial - A Guide to Big O Analysis". 2025. Erişim Tarihi: 14 Temmuz 2025. Erişim Adresi.
National Institute of Standards and Technology. "Big-O Notation". Erişim Tarihi: 14 Temmuz 2025. Erişim Adresi.
Henüz Tartışma Girilmemiştir
"Big-O Notasyonu" maddesi için tartışma başlatın
Büyük O Notasyonunun Temel Tanımı
Asimptotik Üst Sınır
Büyük O’nun Özellikleri
Yansıma (Reflexivity)
Aktarım (Transitivity)
Sabit Çarpan Kuralı
Toplama Kuralı
Çarpma Kuralı
Algoritma Karmaşıklıkları
Hesaplamalı Karmaşıklık Teorisi ile İlişkisi
Asimptotik Davranışın Sınırları: Otomat Teorisi Örneği
Bu madde yapay zeka desteği ile üretilmiştir.