Rastgele ve Özyinelemeli Algoritma
Rasgeleleştirilmiş algoritmalar, algoritmanın yürütülmesi sırasında rasgele seçimler yaparak mantığında bir rasgelelik hissi içerir. Bu rasgelelik nedeniyle, algoritmanın davranışı sabit bir giriş için bile değişebilir. Birçok problem için, rastgele algoritmalar en basit ve verimli çözümleri sunar. Özyinelemeli algoritmalar, bir sorunun çözümünün, aynı sorunun daha küçük alt sorunlarına çözümler bulunarak bulunabileceği fikrine dayanır. Özyineleme, bilgisayar bilimlerindeki sorunlara çözüm bulmak için yaygın olarak kullanılır ve birçok üst düzey programlama dili özyinelemeyi destekler.
Rasgele Algoritma Nedir?
Rastgele algoritmalar, algoritmanın yürütülmesine rehberlik eden rastgele seçimler yaparak rastgele bir his içerir. Bu genellikle ek bir giriş olarak sahte bir sayı üreteci tarafından üretilen bir dizi rasgele sayı alınarak yapılır. Bu nedenle, algoritmanın davranışı sabit bir girdi için bile değişebilir. Quicksort, rastgelelik kavramını kullanan ve giriş özelliklerinden bağımsız olarak O (n log n) çalışma süresine sahip yaygın olarak bilinen bir algoritmadır. Ayrıca hesaplama geometrisinde dışbükey gövde gibi yapıların inşası için randomize artımlı yapım yöntemi kullanılmıştır. Bu yöntemde, giriş noktalarına rastgele izin verilir ve daha sonra yapıya tek tek eklenir. Rastgele bir algoritma uygulamak, aynı problem için deterministik bir algoritma uygulamaktan nispeten basittir. Rastgele bir algoritma tasarlamanın en büyük zorluğu, zaman ve mekan karmaşıklığı için asimptotik analiz yapmaktır.
Özyinelemeli Algoritma Nedir?
Özyinelemeli algoritmalar, bir sorunun çözümünün, aynı sorunun daha küçük alt sorunlarına çözümler bulunarak bulunabileceği fikrine dayanır. Özyinelemeli algoritmada, bir işlev kendisinin önceki sürümü açısından tanımlanır. Bu öz referanslamanın, kendisini sonsuza kadar referans göstermekten kaçınmak için bir sonlandırma koşulu olması gerektiğine dikkat etmek önemlidir. Sonlandırma koşulu, kendisine referans verilmeden önce kontrol edilir. Özyinelemeli algoritmanın ilk adımı, sorunun özyinelemeli tanımının temel maddesiyle ilgilidir. İlk adımı izleyen adımlar, sorunun indüktif yan tümceleri ile ilgilidir. Özyinelemeli algoritmalar birçok durumda daha basit bir çözüm sunar ve doğal düşünme biçimine, aynı sorun için yinelemeli algoritmadan daha yakındır. Ancak genel olarak, özyinelemeli algoritmalar daha fazla bellek gerektirir ve hesaplama olarak pahalıdır.
Randomize ve Yinelemeli Algoritma arasındaki fark nedir?
Rastgele algoritmalar, algoritmanın yürütülmesini etkileyebilecek rastgele seçimler yaparak rastgele bir his kullanan algoritmalardır, yinelemeli algoritmalar ise daha küçük alt sorunlara çözüm bularak bir soruna çözüm bulunabileceği fikrine dayanan algoritmalardır. aynı sorunun. Rastgele algoritmalardaki rastgelelik nedeniyle, algoritma davranışı aynı girdi için bile değişebilir (algoritmanın farklı uygulamalarında). Ancak bu yinelemeli algoritmalarda mümkün değildir ve yinelemeli algoritmanın davranışı sabit bir girdi için aynıdır.