Büyük O Notasyonu Nedir (big o notation)

big o notation
Big O
Büyük O notasyonu algoritma karmaşıklığı konusunun temel taşıdır. Çünkü biz bir algoritmanın karmaşılıklığını Büyük O (Big O) ile göstermekteyiz. Büyük O Notasyonu nedir sorusu O(n) ile cevabını buluyor. Buradaki n, bir algoritmanın karmaşıklığı n ise sunduğumuz gösterimdir. Parantez içerisindeki ifade karmaşıklığı belirtir.

Aslında çok basit bir konudur. Çünkü her yazılımın sabit bir karşılığı vardır. Bu sayede karmaşıklığı çok rahat bir biçimde hesaplarız.




Değişken Atama İşlemlerinin Algoritma Karmaşıklığı


int a=4; String c vb. işlemler 1 kez çalışır. Bu tip ifadelerin algoritma karmaşıklığı O(1) ile ifade edilir. Unutmayın, her bir işlem 1 hesaplanır. yani int a, char b, işlemi 2'ye karşılık gelir. Eğer kapsayıcı bir ifade varsa, kapsayıcı ifadenin çalışma zamanı ile çarpılır. Yani for döngüsü içerisinde ve for döngüsü N kez çalışacaksa içerideki ifadeler N ile çarpılmalıdır. Eğer siz 5N hesaplasanız bile Big O notasyonu O(N) olarak belirtilir, 5N olarak belirtilmez.


if Else ifadelerinin Algoritma Karmaşıklığı



if Else blokları da değişkenler gibi "1" şeklinde hesaplanır. Çünkü if şartı sağlıyorsa o blok çalışır ama sağlamıyorsa Else bloğu çalışır. Yani sonuç olarak ancak bir tanesi çalışır ve 1 işlem yapar. Ancak if bloğunun içerisindeki işlem ayrı hesaplanmalıdır. Yani burada bizim belirttiğimiz nokta yalnızca if else bloklarının çalışma sayısıdır. 


For Döngülerinin Algoritma Karmaşıklığı


Daha önceki algoritma karmaşıklığı nedir başlıklı konumuzda da belirttiğimiz üzere for döngüleri n kere çalışmaktadır. Big O Notasyonları O(N)'dir. 


Logaritmik İfadelerin Algoritma Karmaşıklığı


Eğer algoritmalar ile uğraşmaya niyetlendiyseniz logaritmik ifadelerle muhattap olacaksınız demektir. Bir logaritmik ifadenin algoritma karşılığı O(logn) anlamına gelir. Tam olarak kafanızda oturtamadıysanız şöyle diyelim, n ifadesinin logaritması, n sayısından küçüktür. Bu tip algoritmalar oldukça hızlıdır.


Loglineer İfadelerin Algoritma Karmaşıklığı


Lineer ifadelerin algoritma karşılığı O(N)'dir. Logaritmik ifadelerin ise O(logN) olduğuna göre loglineer ifadelerin algoritma karşılığı O(NlogN) şeklindedir.

Mutlaka Göz Atın =>> Algoritma Karmaşıklığı Örnekleri

Etiketler: , , , , , ,