Web: http://www.teknoarsiv.net/

YAKINDA SİZİNLE

Blogger,Blogger Eklenti, Blogger Tema!


Gün

Saat

Dakika

Saniye

E-Bülten Aboneliği

E-Bültenimize Abone Olun Son Yazılar Mail Olarak size gelsin Yazılarımızı Kaçırmayın:

Copyright © Teknoloji Kalemim | Teknoloji Portalı | Türkçeleştirme http://teknolojikalemim.blogspot.com/

14 Aralık 2009 Pazartesi

Rekürsif (Recursive) Algoritmalar

Bilgisayar Programcılığında problem çözmek için bilgisayara komut dizileri verilir. Bu dizilerin çoğu akış diyagramında doğrusal bir karar ağacını işler. Ancak Recursive (özyinelemeli) algoritma oldukça sibernetik bir şekilde kendini tekrar tekrar çalıştıran, aradığı şartlara ulaşana dek durmayan bir yöntemi anlatır.

Recursive (özyinelemeli) algoritmalar, asla aynı şekilde uygulanmıyor. Bir işlem yapılır ve oluşan sonuç tartışılıyor böylece bir sonraki döngüde bu sonuçtan yola çıkılarak farklı bir giriş sisteme geri veriliyor.

Recursive, çözülmesi zor bir problemin, yapı olarak aslına benzeyen ancak, çözülmesi daha kolay olan ufak problemlere bölünerek çözülmesidir. Aynı işlem oluşturulan tüm ufak problemler için tekrarlanır. Ne zaman alt problem o kadar kolay ve açık hale gelir de artık çözülmesi için daha ufak parçalara bölünmesi gerek kalmaz, işte o zaman bu bulunan çözümler birleştirilerek esas problemin çözümü meydana getirilir.

Özyineleme’ye en iyi örnek faktöriyel fonksiyondur. Recursive tanımlaması;

recursive_faktoriyelBu tanımlama bize şunu verir;

recursive_faktoriyel2

recursive_faktoriyel_agacı

Fibonacci sayıları ile Recursive tanımlamak kolay olmasına rağmen çok yavaştır. Örneğin; F5’i hesaplamak istiyoruz, Recursive algoritmanız F4 ve F3'ü isteyecektir. F4 için ise F3 ve F2'yi hesaplamamız gerekli. Yukarıdaki şekilde görüldüğü üzere F3'ü iki kez hesaplamak zorundayız. Eğer F200'ü hesaplamış olsaydık ağaç gösterimi nasıl olurdu?

Fibonacci sayıları etkili ama genel tanımlamalarda yeterli değil.

n.ci Fibonacci sayısını hesaplamanında bir formülü var;

altın_oran

Recursive algoritmasına bir kaç örnek;

  • Bir ağacın yaprakları arasındaki mesafe (Fibonacci’nin bir kopyasıdır.)
  • Faktöriyel
  • Hanoi Kuleleri
  • EBOB (En Büyük Ortak Bölen)
  • İkili arama algoritması

Kaynaklar;

http://www.gunesintamicinde.com/hayat-denen-recursive-algoritma/
http://www.cargalmathbooks.com/5%20Recursive%20Algorithms.pdf
http://en.wikipedia.org/wiki/Recursion_(computer_science)

Hiç yorum yok:

Yorum Gönder

Sponsor

Ad

E-posta *

Mesaj *

Text Widget

Labels

Channels

Category 3

Güncel Teknoloji Blogu..

Labels

Sponsors

Post of the week

Find us on facebook

Son Yorumlar

https://www.facebook.com/seyitshnn

Partners

++Teknoloji Kalemim

Pages

Blogger tarafından desteklenmektedir.

Channels

Labels

Channels

Channels

Popular Posts

Blog Arşivi

Followers

Blog Archive

Postagens populares

Sidebar One

Stats

Category 2

Category 3

Popular Posts

Join the Club