Recursion (Özyineleme), bir işlevin gövdesinde bir veya daha fazla kez kendisini çağırdığı bir programlama yöntemidir.
Genellikle, bu işlev çağrısının dönüş değerini döndürür.
Bir fonksiyon tanımı özyinelemeyi takip ediyorsa, bu fonksiyona özyinelemeli fonksiyon deriz.
Özyinelemeli bir işlevin bir programda kullanılabilmesi için sonlandırılması gerekir.
Her özyinelemeli çağrı ile sorunun çözümü küçülür ve sorunun daha fazla özyineleme olmadan çözülebileceği bir temel duruma doğru hareket ederse sona erer.
Çağrılarda temel durum karşılanmazsa, bir özyineleme sonsuz bir döngüye yol açabilir.
Aşağıdaki kod, recursive fonksiyon kullanarak ilk n doğal sayının toplamını döndürür.
1 2 3 4 5 6 7 | def sum_n(n): if n== 0: return 0 else: return n + sum_n(n-1) |
Yukarıdaki fonksiyonu kullanarak ilk 100 doğal sayının ve ilk 500 doğal sayının toplamını yazdıralım.
1 2 3 4 5 6 7 8 9 10 | def sum_n(n): if n== 0: return 0 else: return n + sum_n(n-1) print(sum_n(100)) print(sum_n(500)) |
Add Comment