Özyineleme (Yinelge – Recursion) Nedir? | Bilgi Yağmuru
Ana Sayfa / Matematik / Özyineleme (Yinelge – Recursion) Nedir?

Özyineleme (Yinelge – Recursion) Nedir?

Özyineleme, aslında kelime olarak incelense bile anlamı ortaya çıkacaktır. Öz – Yineleme yani kendi kendini – yenileme ÅŸeklinde ayrı bir ÅŸekilde yazıldığında anlaşılacaktır.

Özyineleme (Yinelge – Recursion), en genel manasıyla bir yapının (kendi kendine) yinelenmesi olayıdır. Genel anlamda kullanımı daha çok matematik ve bilgisayar biliminde yapılmaktadır. Bu yapılara “Yinelgen” yapılar ismi verilmektedir. Yinelgen bir yapı eÄŸer kendine gönderme yapma (atfıta bulunma) özelliÄŸiyle yinelgen ise bu tür yapılara “Özgöndergeli” veya “Kendine-Göndergeli” yapılar denir.

Özyineleme (Yinelge – Recursion) için ortaya çıkan bir problemi çözmek için, bir yöntemin kendisini çağırdığı bir programlama tekniÄŸi ÅŸeklinde bir açıklamada yapabiliriz. Ayrıca kendisi için gerçekleÅŸtirilen bir çaÄŸrının belirli konudaki bir problemi çözmesi olarak da tanımlanabilir.

Özyineleme (Yinelge – Recursion), nesnenin kendisini içermesi veya kendi kendisi tarafından tanımlanmasıdır.

Özyineleme (Yinelge – Recursion), doÄŸru bir ÅŸekilde kullanıldığı zaman ortada bulunan problemlere zarif çözümler sunabilen bir programlama tekniÄŸidir.

Kullanımı, programlama kodunu ve okunabilirliğini bazı durumlar için basit hale dönüştürür. Bu programlama teknikleri ekseriyetle kodun okunulabilirliğini artırır.

Özyineleme – Örnek

Aşağıda bir Fibonacci sayı dizisinin bazı elemanlarını görüyorsunuz.

  • Fibonacci Dizisi; Her sayının kendinden öncekiyle toplanması sonucu oluÅŸan bir sayı dizisidir.

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …

Verilen bir Fibonacci dizisinin her elemanı iki önceki elemanın toplamından meydana gelmektedir. Birinci ve ikinci elemanlar tanım gereği 1 değerini alırken, diğer elemanların diziliş kuralı aşağıda verilmiştir:

Tanıma göre n’inci elemanın hesaplanması için aşağıdaki özyineleme metodunu kullanırız:

Bu örnek bir çözümün uygulanması için özyineleme metotunun nasıl kullanılacağını gösteriyor. Diğer taraftan, özyineleme ile programlama yaparken sezgisel olmalısınız, çünkü programın verimliği ve hızını etkileyen pek çok faktör vardır.

Doğal Sayılar

Gerçek manada incelendiği zaman matematikte yalnızca göndermeler değil, kümeler dahil çok sayıda kavramın yinelgen olarak tanımı yapılabilir. Örneğin doğal sayılar kümesi aşağıdaki iki özelliği sağlayan en küçük kümedir:

  1. 0 bir doğal sayıdır.
  2. n bir doğal sayı ise n+1 bir doğal sayıdır.

Tümevarım

Yaygın bir matematiksel kanıt türü olan tümevarım genellikle yinelgeye baş vurur.

Örneğin Osman soyundan gelenlerin insan olduğu iki temel varsayım ile ispatlanabilir.

Varsayım 1: Osman insandır.
Varsayım 2: İnsanın çocuğu insandır.

İddia: x, Osman soyundan geliyor ise insandır.

İspat:

Varsayım 1 : Temel durum: x, Osman ise insandır

Varsayım 2 : Tümevarım adımı: {\displaystyle x}’in ebeveyni Osman ise temel durum ve Varsayım 2’ye göre kendisi de insandır.
x, Osman soyundan geliyor fakat {\displaystyle x}’in ebeveyni Osman deÄŸilse, {\displaystyle x}’in ebeveyni Osman soyundan geliyordur ve İddiaya göre ebeveyni insandır.
Bu durumda Varsayım 2’ye göre x de insandır.

Kendi kendine atıfta bulunan bu ispat biçimi, temel durum dışında ki her durum için bir önceki durumun doğru olduğunu kabul etmektedir.

ÖrneÄŸin {\displaystyle Osman}’ın torunu {\displaystyle Osman}’ın çocuÄŸu insan olduÄŸu için insandır. {\displaystyle Osman}’ın çocuÄŸu ise Osman insan olduÄŸu için insandır.

Herhangi bir nesilden bu ÅŸekilde geriye gidilebilir.

Bilgisayar programlarında yinelgen yapılar

İşlev Tanımlama

Matematikte açıklanan duruma benzer biçimde, işlevlerin yinelgen olarak tanımı yapılabilir.

ÖrneÄŸin iÅŸlevsel bir programlama dili olan Common Lisp’te faktöriyel iÅŸlevi aÅŸağıdaki gibi tanımlanabilir:

(defun fak(n)
  (if (<= n 1) 1
    (* n (fak (- n 1)))))

Ya da daha yaygın olarak kullanılan C dilinde;
int fak(int n)
{
 if (n<=1) return 1;
 return n*fak(n-1); 
}

Church tezine göre hesaplanabilir bütün işlevler, yinelgen işlevler ile ifade edilebilir.

Veri Türleri

Bazı programlama dilleri, yinelgen veri türlerine izin verir. AÅŸağıdaki betik parçası, Ocaml’de doÄŸal sayı veri tipini tanımlamaktadır:

type dogal = SIFIR | SONRAKI of dogal

Kaynak : 

Wikipedia

By Kaynuka

Bu habere de bakabilirisiniz

David Hilbert Kimdir?

David Hilbert, 23 Ocak 1862 Königsberg, Almanya’da dünyaya gelmiÅŸ bir matematikçiydi. 19. ve 20. yüzyılın ...

David Hilbert’in Sonsuzluk Oteli

Sonsuzluk nedir? Bu sorunun cevabını vermek gerçekten de zor. Öyle ki hangi sayıyı ya da ...

Hilbert Problemleri

Hilbert problemleri, Alman matematikçi David Hilbert tarafından 1900 yılında yayınlanan 23 problemden meydana gelmektedir. Problemlerin ...

malatya bayan escort bursa bayan escort antalya bayan escort konya bayan escort
antalya escortantalya escortantalya escortbursa escortbursa escortkonya escortkonya escorteskişehir escorturfa escortçanakkale escortsamsun escortafyon escortmanisa escortmersin escortdenizli escortkıbrıs escortbalıkesir escortaydın escorthatay escortsivas escortvan escortadana escortelazığ escortizmit escortyalova escorterzurum escortısparta escortkocaeli escortmuğla escortsakarya escorttekirdağ escortdiyarbakır escorttrabzon escortuşak escortsinop escortrize escortmardin escortnevşehir escortçorum escortbatman escortkırşehir escortaksaray escortamasya escortniğde escortağrı escortbolu escortadıyaman escortyozgat escortzonguldak escortkütahya escorttokat escortgiresun escortkahramanmaraş escortkarabük escortbilecik escortkayseri escortdüzce escortistanbul escortistanbul escortistanbul escortbursa escortkonya escortkonya escortkayseri escortkayseri escortmalatya escortmalatya escortmalatya escortmalatya escortmalatya escortgaziantep escortgaziantep escortgaziantep escorthatay escorthatay escortankara escortankara escortkırıkkale escortbartın escortartvin escortbingol escortbitlis escortçankırı escortedirne escortkastamonu escortgümüşhane escortkaraman escorthakkari escortmuş escortordu escortsiirt escorttunceli escortbayburt escortşırnak escortardahan escortığdır escortkilis escortosmaniye escortdüzce escorterzincan escortkars escortburdur escortistanbul escortizmir escortankara escortbodrum escortgaziantep escorteskişehir escortkonya escorturfa escortafyon escortdenizli escortizmir escortbursa escortsamsun escortçanakkale escorthatay escortizmit escortkayseri escortantalya escortvan escortzonguldak escortbalıkesir escortmanisa escortbodrum escortkıbrıs escortsivas escortgaziantep escortadana escortadıyaman escortafyon escortağrı escortaksaray escortamasya escortantalya escortankara escortardahan escortartvin escortaydın escortbalıkesir escortbartın escortbatman escortbayburt escortbilecik escortbingöl escortbitlis escortbolu escortburdur escortbursa escortçanakkale escortçankırı escortçorum escortdenizli escortdiyarbakır escortdüzce escortedirne escortelazığ escorterzincan escorterzurum escorteskişehir escortgaziantep escortgiresun escortgümüşhane escorthakkari escorthatay escortığdır escortısparta escortistanbul escortizmir escortizmit escortmaraş escortkarabük escortkaraman escortkars escortkastamonu escortkayseri escortkıbrıs escortkilis escortkırıkkale escortkırklareli escortkırşehir escortkocaeli escortkonya escortkütahya escortmalatya escortmanisa escortmardin escortmersin escortmuğla escortmuş escortnevşehir escortniğde escortordu escortosmaniye escortrize escortsakarya escortsamsun escorturfa escortsinop escortsivas escorttekirdağ escorttokat escorttrabzon escortuşak escortvan escortyalova escortyozgat escortzonguldak escorthttp://www.escortlariyiz.com