Merhaba Arkadaşlar,
Okulda “Algoritma ve Veri Yapıları” dersinde ya da C# benzeri nesne yönelimli(Object Oriented) bir dili öğrenmeye başladığımız ilk zamanlarda, karşımıza muhakkak Recursive fonksiyonlar çıkmıştır(Çıkmaya da devam edecektir). Hatta en meşhur olanları da, bir sayının faktöryelinin (6!=6x5x4x3x2x1=720 ve 0!=1) bulunması veya Fibonacci sayı dizisinin(0,1,1,2,3,5,8,13,21,34…, Fn=(Fn-1(+(Fn-2)) ardışıl olarak ekrana yazdırılmasıdır.
Recursive fonksiyonları ilk etapta anlamakta güçlük çeksek de, matematik ile bağdaşdırmakta zorlansak da, pek çok noktada hayat kurtaran ve gerekli olan metodlar olduklarını biliriz. Örneğin strateji oyunlarında, ikili(Binary) ağaç aramalarında, doğal dil işleme metodolojilerinde, Hanoi kuleleri gibi popüler problemlerin çözümünde ve daha pek çok yerde Recursive fonksiyonellikler söz konusudur.
&
Biz bu görsel dersimizde, Fibonacci sayı dizisinin Recursive fonksiyonlar ile elde edilmesi halinde sistemin neden ve nasıl yavaşladığını anlamaya çalıştık. Ardından da iteratif bir yaklaşım üzerinde durarak basit bir çıkarımda bulunduk.
Faydalı olması dileğiyle