Özyineleme ve Çözümleme nedir?
Bilişim Teknolojileri · 9. Sınıf · Konu 16
Tahmini okuma süresi: 7 dk
Kısa cevap
Bu konuda neler öğreneceksin?
- Özyinelemeli çözüm kurar ve temel durum koşulunu doğru belirler.
- Özyineleme ile döngü arasındaki benzerliği ve farkı açıklar.
- Çağrı yığınının nasıl büyüdüğünü ve neden taşabildiğini anlatır.
- Ağaç yapılarında ve böl ve birleştir yaklaşımında özyinelemeyi uygular.
- Özyinelemeli çözümün verimsizlik nedenlerini tespit edip yolunu düzeltir.
Anahtar fikirler
- Özyineleme, bir fonksiyonun kendisini çağırmasıdır.
- Temel durum koşulu olmadan özyineleme hiçbir zaman durmaz.
- Her çağrıda girdi küçülmelidir; küçülmezse koşul sağlanmaz.
- Temel durum doğrudan sonuç döndürür, kendini çağırmaz.
- Çağrı yığını her çağrıda büyür ve dönüşlerde küçülür.
- Sonsuz özyineleme yığın taşmasına ve programın kapanmasına yol açar.
Konunun özeti
Çözüm, temel durum ile girdiyi küçülterek çağrıyı tekrarlayan gövdeden oluşur. Temel durum sağlanmaz ya da girdi küçülmezse çağrı zinciri hiç bitmez ve yığın taşması oluşur. Ağaç dolaşımı, klasör taraması ve böl ve çöz yaklaşımı özyinelemeyi doğal kılan alanlardır. Özyineleme, her terimi önceki iki terimin toplamı olduğu Fibonacci gibi tekrarlı hesaplarda verimsizdir; hesaplanan alt sonuçları saklamak bu yükü azaltır. Her çağrı ek çerçeve oluşturduğu için derin özyinelemelerde döngüye göre daha fazla bellek ve zaman harcanır.
Çözümlü mini örnek 1
Yedi değerinden oluşan tek elemanlı dizi tersten yazdırılacaktır.
Adım 3: Değer doğrudan yazdırılır ve çağrı sonlanır.
Çözümlü mini örnek 2
Bir klasörün içindeki dosya adları karışık sıradadır, hedef adlı dosya aranacaktır.
Adım 4: Sonuç bulunduğunda diğer dallarda arama durdurulur.
Sık yapılan hatalar
- Temel durum koşulunu yazmamak: Çağrı zinciri hiç bitmez. Doğrusu durma noktasını açıkça tanımlamaktır.
- Çağrıda girdiyi küçültmemek: Aynı girdiyle çağrı tekrarlanır. Doğrusu daha küçük bir girdi vermektir.
- Temel durumda da kendini çağırmak: Durma koşulu çalışmaz. Doğrusu temel durumda doğrudan sonuç döndürmektir.
İlgili konular
Sıradaki adım
Tam anlatımKonuyu tam anlatımıyla okuKonu anlatımı, kazanımlar ve örnekler tek sayfada.Konu anlatımları hesapsız okunur. Quiz, slayt ve deneme için hesap gerekir.
DersTeders ile devam et
Bilişim Teknolojileri · 9. Sınıf için çalışma yolu
- OkuKonu anlatımını bu sayfada bitir.
- Soru çözÖrnekleri çöz, cevabı açıklamayla karşılaştır.
- Quiz ile pekiştirHesapla kendini ölç.
Konu anlatımları hesapsız okunur; quiz, slayt ve deneme için hesap gerekir.