Herkese iyi günler bu yazımızda sizlere C-C++ dilinde kodların çalışma süreleri nasıl hesaplanır onu anlatacağız.
Genelde üniversitelerin algoritmalar ve veri yapıları dersinde bazı kodların çalışma zamanı konusu görülür.Bu derste C,C++,Java vb. tüm programlama dillerinde yazdığınız algoritmanın nasıl çalıştığı anlatılır.Eğer sağlam az satırlı kodlardan oluşan bir algoritma ile program yazarsanız bu hem zaman açısından hem de maliyet açısından daha iyi olur.Ama eğer uzun satırlara sahip kodlar yazarsanız bunun derlenmesi çok zaman alır.Zaten sınavlarda da sizlerden en kısa kodla programı yazmanızı isterler.
Şimdi sizlere bazı C-C++ kodların çalışma sürelerini nasıl hesaplarız onu anlatacağız.Öncelikle ilk basit örneğimizden başlayalım.
j=1;
m=0;
while(j<=n){
j=j+1;
m=m+j;
}
Gördüğünüz gibi kodlarımızın asıl kısmını yani algoritmalı olan kısmını yazdık.Önemli olan burası çünkü diğer satırlar kodlara pek etki etmiyor.Peki şimdi bu kodun çalışma süresi(times) ne kadar ve “total cost” yani toplam maliyeti ne kadar onu hesaplayalım.
Gördüğünüz gibi üstteki şekilde hesaplanıyor.İlk olarak döngü içi ve dışı diye kodları ayırıyoruz.Döngünün(for,while vb.) dışında olanlara ve sabit yazılanlara times olarak 1 diyoruz.Çünkü atıyorum “j=1;” sabit bir ifade o yüzden 1 yazılıyor.Fakat döngünün yazıldığı satıra “n+1” yazılır.Ardından içine de n şeklinde yazılır.Şimdi bir diğer örneği yapalım.
Yukarıdaki gördüğünüz gibi diğer bir örnekte iç içe geçmiş while döngüsü görüyorsunuz.Burada ise 2. döngünün yani iç içe geçmiş olan 2. döngüye “n*(n+1)” yazılıyor.Ardından bu döngünün içine de n*n şeklinde yazılıyor.Bu şekilde tüm kodların ne kadar zaman süreceğini hesaplayabilirsiniz.Costların hesabı için de c1,c2,c3,c4 şeklinde tüm satırlara yazarak gideriz.
Peki toplam maliyeti yani total cost’u nasıl hesaplarız şimdi onu gösterelim.Total costu hesaplamak için bir formülümüz var.
İlk örneğimiz için Total Cost(toplam maliyet) = c1+c2+(n+1)*c3+n*c4+n*c5
İkinci örneğimiz için Total Cost(toplam maliyet) = c1+c2+(n+1)*c3+n*c4+n*(n+1)*c5+n*n*c6+n*n*c7+n*c8
Gördüğünüz gibi costları ve timesları çarptığımızda toplam costu hesaplamış oluruz.
Bu Yazıya Tepkin Ne Oldu ?