Programlama işi sadece kod yazmak değildir biliyorsunuz ki. Yazılan kodun hızlı bir şekilde çalışması da gerekmektedir.
Benden size bir soru. Fibonacci serisini bir çoğumuz biliyoruz ve kodunu yazıyoruz. Bir çoğumuz aşağıda verdiğim şekilde yazıyor. Peki bu kodun daha kısa hali yazılamaz mı ? Yazılabilir. Peki o halde zorlayalım beyinleri :
int FibonacciIterative(int n) {
if (n <= 1)
return n;
int firstNumber = 0;
int secondNumber = 1;
int result = 0;
for (int i = 2; i <= n; i++) {
result = secondNumber + firstNumber;
firstNumber = secondNumber;
secondNumber = result;
}
return result;
}
-----------------------------------------------------------------------------------------------------
Programlamanın temeli bildiğimiz gibi algoritmalardır. Algoritma derken akış şemasından bahsetmiyorum :) En kısa yollar, merge-sort, zaman karmaşıklığı gibi konulardan bahsediyorum. Bir çok kişiye bunlar öğretilmiyor. Bilenlere soruyorum :
Verilen n tane sayıdan birbirlerine en yakın olan ikisinin arasındaki farkı bulmak için yazılabilecek en hızlı algoritmanın zaman karmaşıklığı nedir?
-----------------------------------------------------------------------------------------------------
Buyrun arkadaşlar biraz kafaları yoralım :)
NOT : Bunlar benim ödevim vs değildir yanlış anlaşılmasın...