Recursive Fonksiyonda Yürütme Zamanı Hesaplama
-
obeb(int a,int b) {
if(b==0)
return a
else
return obeb(b,a%b)
}
Bu fonksiyonun yürütme zamanını nasıl hesaplarız bir türlü yapamadım.
-
Veri yapıları dersinde gördük bu olayı ama hiç umursamamıştım :D notasyonlara bak; algoritma karmaşıklığı, büyük O notasyonu. Hatırladığım kadarıyla yapılan aritmetiksel işlemleri yazıyodun alt alta,kaç işlem yapıldığını yerleştirdiğin zaman bi formülden çıkıyordu. Normal bi fonksiyon olsa kolay ama rekürsif fonksiyonun kaç defa çalışacağını bilmediğin için sonuçta ufak bi değişiklik gerekir ama onun bi formülü var yani.
-
evet recursive fonksiyonun kac defa calısacagı bellı deıl bi eksiklik de yok ama nasıl hesaplanır ki düşün düşün bir türlü çıkamadım işin içinden yarın sınavım var bilen biri çıkar inş.
-
3 saat sonra sınavım var yokmu bilen :)
-
15 senelik muhendisim (liseyi de sayiyorum) boyle bişi hesaplamadım hoca
-
HolyOne bunu yazdı:
-----------------------------15 senelik muhendisim (liseyi de sayiyorum) boyle bişi hesaplamadım hoca
-----------------------------:D işte bunu bide hocalara anlatabilsek ne kadar güzel olur...kim bunu hesaplarki oturupta ya..kafanda tasarlarsın yapacaklarını(gerekirse kağıda dökersin), yaza yaza ilerlersin,yavaş çalışıyosa ona göre bi çözüm bulursun,işin matematiğiyle uraşmak lüzumsuz...(dediğim için patladım veri yapıları dersinden ucu ucuna)
@bosluk: sanırım hesapladım;
döngü bir dönüşte 2 işlem yapıyor bi tane karşılaştırma bide mod alma. atıyorum n-1 defa döner,n'inci dönüşünde b==0 sağlanırsa ((n-1)*2)+1 işlem yapmış olmazmı? O(((n-1)*2)+1) gibi bişey derim eğerki şu an sınav olsam ama emin değilim :|
-
şöyle birşeyler var ama işine yarar mı bilmiyorum ?
http://stackoverflow.com/questions/876901/calculating-execution-time-in-c
http://www.cplusplus.com/forum/beginner/15890/
http://cboard.cprogramming.com/cplusplus-programming/88612-execution-time-microseconds.html
