Ana içerik
Bilgisayar Bilimi
Konu: Bilgisayar Bilimi > Ünite 1
Ders 5: Özyinelemeli Algoritmalar- Faktöriyel fonksiyonu
- Zor Görev: Yinelemeli faktöriyel
- Özyinelemeli faktöriyel
- Zor görev: Özyinelemeli faktöriyel
- Özyinelemeli algoritmaların özellikleri
- Zor Görev: dize palindrom mudur?
- Zor görev: Özyinelemeli kuvvetler
- Proje: Yinelemeli sanat
© 2023 Khan AcademyKullanım ŞartlarıGizlilik PolitikasıÇerez Politikası
Özyinelemeli algoritmaların özellikleri
Özyinelemeli algoritmalarla ilgili temel fikir şudur:
Bir problemi çözmek için, aynı problemin daha küçük bir örneği olan bir alt problemi çözün ve bu küçük örneğin çözümünü kullanarak, başlangıçtaki problemi çözün.
Özyinelemeli bir algoritmanın çalışması için, küçük alt problemlerin hepsi sonuçta temel duruma ulaşmalıdır. 'i hesaplarken, alt problemler biz 'i hesaplayana kadar küçülür. Sonunda, temel durumu yakaladığınızdan emin olmalısınız.
Örneğin, özyinelemeli yöntemimizi kullanarak negatif bir sayının faktöriyelini hesaplamaya çalışsak ne olurdu? 'i bulmak için, önce 'i bulmaya çalışırsınız, dolayısıyla sonucu ile çarpın. Ama, 'i bulmak için, önce 'i bulmaya çalışırsınız ki, sonucu ile çarpın. Sonra 'i bulmaya çalışırsınız, vesaire. Elbette sayılar küçülmektedir, ama aynı zamanda temel durumundan gittikçe uzaklaşmaktadır. Hiçbir zaman cevap elde etmezsiniz.
Özyineleme fikrini iki basit kurala indirgeyebiliriz:
- Her özyinelemeli çağrı, aynı problemin daha küçük bir örneğinde, yani daha küçük bir alt problemde yapılmalıdır.
- Özyinelemeli çağrılar, sonuçta, özyinelemeyle çözülemeyen bir temel duruma ulaşmalıdır.
Rus bebeklere geri dönelim. Bunlar herhangi bir algoritmaya girmese de, diğerlerini kaplamayan en küçük bebeğe kadar (temel duruma benzer) her bebeğin daha küçük bebekleri kapladığını (özyinelemeli duruma benzer) görebilirsiniz.
Bu içerik Dartmouth Bilgisayar Bilimleri öğretim görevlileri Thomas Cormen ve Devin Balkcom ile Khan Academy bilgisayar bölümü içeriklerini hazırlayan takımın işbirliği ile hazırlanmıştır. İçerik CC-BY-NC-SA lisanslıdır.
Tartışmaya katılmak ister misiniz?
Henüz gönderi yok.