Algoritma Karmaşıklığı Nedir?

algoritma karmaşıklığı nedir
Algoritma Karmaşıklığı Hesabı
Algoritmaların toplam çalışma zamanları çok önemlidir. Biz bir algoritmayı koda dökmeden önce ne kadar süre içerisinde çalışacağını hesaplamak mümkündür. Algoritma ile kast edilen şey kod da olabilir. Algoritma Karmaşıklığı Nedir sorusunun yanıtı, bir algoritmanın çalışma zamanının ne kadar süreceğini hesaplamaktır. Yani biz bir kod dizisine baktığımızda ne kadar işlem yapacağını gözlemleyebiliriz. Hemen örnek verelim;


for(int i=0; i<5; i++)

{

    printf("%d. deneme\n", i);

}

Öncelikle karşımızdaki şeyi doğru tespit etmemiz gerekir. Karşımızdaki şey for döngüsüdür. Döngülerin en büyük özelliği birden fazla kez çalışabilme özelliğidir. Döngü içerideki şarta göre dönme işlemi gerçekleşir. i=0 dan başladığına ve i<5 olduğuna göre döngümüz 5 kere dönecektir. Anlamadıysanız tek tek yazalım, 0, 1, 2, 3, 4. i<5 şartını unutmayalım. yani for döngüsünün içerisindeki ifade 5 kere çalışacaktır. eğer 5 yerine N dersek N kere çalışır.

Şimdi yeni bir örnek verelim mesela matrislerde uyguladığımız bir kodu buraya yazalım;

for(int i=0; i<N; i++)

{

    for(int j=0; j<N; j++ )

    {

        printf("%d", matris[i][j]);

    }

}
Buradaki durum da yukarıdaki örnekle aynıdır. Tek farkı for döngüsü içerisinde bir başka for döngüsü olmasıdır. Eğer bir for döngüsü N kere dönerse for içindeki for döngüsü de N kez döner. Bu sistem ise toplamda N*N yani N^2 kez çalışır. Algoritma karmaşıklığı nedir diye soruyarsanız bu çalışma sayısını hesaplama olayına algoritma karmaşıklığı diyoruz. Sonraki makalelerimizde daha ayrıntılı bir anlatım bulabilirsiniz. Bizi takip edin.

Mutlaka Okuyun! Büyük O Notasyonu

Etiketler: , ,