Fonksiyonel Programlamada Özyineleme

Programlama Paradigması Kavramları

Eleanor Thomas

Senior Data Analytics Engineer

Özyineleme nedir?

  • Özyinelemeli fonksiyon: Kendini çağıran fonksiyon
  • Bir bitiş koşulu (temel durum) içermelidir
  • Değiştirilmiş girdiyle kendine özyinelemeli çağrı içerir
0 | def my_recursive_function(input_value):
1 |     # base case
2 |     if base_case_condition:
3 |        return base_case_output_value
4 |     # recursive call
5 |     else:
6 |        return my_recursive_function(modified_input_value) + some_modification
Programlama Paradigması Kavramları

Neden özyineleme?

  • Bazı problemler özyinelemeli tanımlandığında daha anlaşılırdır
  • Fibonacci sayıları:
    • 0, 1, ...
    • 0, 1, 1, ...
    • 0, 1, 1, 2, ...
    • 0, 1, 1, 2, 3, ...
Programlama Paradigması Kavramları

Özyinelemeye başka örnekler

Bir dosya sistemi

  • Bir dosya sisteminde arama
Programlama Paradigması Kavramları

Özyinelemeye başka örnekler

Bir dosya sistemi; bir sıralama yöntemi

  • Bir dosya sisteminde arama
  • Birleşimli Sıralama (Merge Sort) gibi bazı algoritmalar
Programlama Paradigması Kavramları

Özyinelemeye başka örnekler

Bir dosya sistemi; bir sıralama yöntemi; bir veri yapısı

  • Bir dosya sisteminde arama
  • Birleşimli Sıralama (Merge Sort) gibi bazı sıralama algoritmaları
  • Çeşitli veri yapıları özyinelemeli tanımlanır
Programlama Paradigması Kavramları

Özyineleme ve yineleme

  • Her özyinelemeli fonksiyon yinelemeli (iteratif) olarak da yazılabilir
  • Yinelemeli fonksiyon, özyinelemeli çağrı yerine döngü kullanır
def iterative_factorial(n):
    result = 1
    for i in range(1, n + 1):
        result = result * i
    return result
Programlama Paradigması Kavramları

Hadi pratik yapalım!

Programlama Paradigması Kavramları

Preparing Video For Download...