«recursion» etiketlenmiş sorular

Özyineleme, bir işlevin kendisini çağırdığı bir tür işlev çağrısıdır. Bu tür işlevlere özyinelemeli işlevler de denir. Yapısal özyineleme, bir sorunun çözümünün aynı sorunun daha küçük örneklerine yönelik çözümlere bağlı olduğu bir problem çözme yöntemidir.


6
Python kuyruk özyinelemesini optimize ediyor mu?
Aşağıdaki hata ile başarısız olan aşağıdaki kod parçası var: RuntimeError: maksimum yineleme derinliği aşıldı Kuyruk özyineleme optimizasyonuna (TCO) izin vermek için bunu yeniden yazmaya çalıştım. Bir TCO gerçekleşmiş olsaydı bu kodun başarılı olması gerektiğine inanıyorum. def trisum(n, csum): if n == 0: return csum else: return trisum(n - 1, csum …

7
Yeniden giriş işlevi tam olarak nedir?
Çoğu ait zamanlarda , reentrance tanımı alıntı yapıldığı Vikipedi : Bir bilgisayar programı veya rutini, önceki çağrısı tamamlanmadan önce güvenli bir şekilde yeniden çağrılabiliyorsa (yani eşzamanlı olarak güvenli bir şekilde çalıştırılabilir) evresel olarak tanımlanır . Tekrar girebilmek için bir bilgisayar programı veya rutini: Statik (veya global) sabit olmayan veri içermemelidir. …



17
Her özyineleme yinelemeye dönüştürülebilir mi?
Bir reddit iş parçacığı görünüşte ilginç bir soru getirdi: Kuyruk özyinelemeli işlevler önemsiz bir şekilde yinelemeli işlevlere dönüştürülebilir. Diğerleri, açık bir yığın kullanılarak dönüştürülebilir. Can her yineleme yineleme dönüştürülebilir? Yayındaki (counter?) Örneği çifttir: (define (num-ways x y) (case ((= x 0) 1) ((= y 0) 1) (num-ways2 x y) )) …

9
Açısal direktiflerde özyineleme
Orada aşağıdaki çözümlerden birine inen birkaç popüler özyinelemeli açısal yönerge Q&A vardır: çalışma zamanı kapsam durumuna göre HTML'yi manuel olarak artımlı olarak 'derleyin' örnek 1 [ yığın akışı ] örnek 2 [ açısal jsfiddles sayfası ] bir yönerge kullanmayın, kendini ifade eden bir <script> şablonu kullanın örnek 1 [ google …

30
Java özyinelemeli Fibonacci dizisi
Lütfen bu basit kodu açıklayın: public int fibonacci(int n) { if(n == 0) return 0; else if(n == 1) return 1; else return fibonacci(n - 1) + fibonacci(n - 2); } Özellikle n = 5 ise, o zaman fibonacci (4) + fibonacci (3) çağrılırdı çünkü son satır ile karıştırıyorum ama …

7
Foldr veya foldl (veya foldl ') ile ilgili sonuçlar
İlk olarak, okuduğum Gerçek Dünya Haskell asla kullanmamayı foldlve kullanmamayı söylüyor foldl'. Bu yüzden ona güveniyorum. Ama ne zaman kullanacağım konusunda foldrpusluyum foldl'. Onların önümde farklı bir şekilde nasıl çalıştıklarının yapısını görebilsem de, "hangisinin daha iyi" olduğunu anlamayacak kadar aptalım. Sanırım her ikisi de aynı cevabı ürettiklerinden hangisinin kullanıldığının önemli …


22
“Ölümcül hata: '100' maksimum işlev yuvalama düzeyine ulaşıldı, iptal edildi!” PHP'de
Bir html dosyasındaki tüm URL'leri bulan ve keşfedilen URL'lere bağlı her html içeriği için aynı işlemi tekrarlayan bir işlev yaptım. İşlev özyinelemelidir ve sonsuzca devam edebilir. Ancak, 100 özyinelemeden sonra özyinelemenin durmasına neden olan genel bir değişken ayarlayarak özyinelemeye bir sınır koydum. Ancak, php bu hatayı döndürür: Ölümcül hata: '100' …
138 recursion  xdebug  php 

9
kendini referans yapı tanımı?
Çok uzun zamandır C yazmıyorum, bu yüzden bu tür yinelemeli şeyler yapmaya nasıl devam etmem gerektiğinden emin değilim ... Her hücrenin başka bir hücre içermesini istiyorum, ancak "field 'child" satırları eksik tipe sahip. Naber? typedef struct Cell { int isParent; Cell child; } Cell;
134 c  recursion  struct  typedef 


7
Defaultdict'in iç içe geçmiş defaultdict
Bir varsayılan diktenin aynı zamanda varsayılan diktenin de varsayılan olması için bir yol var mı? (yani sonsuz düzeyde özyinelemeli defaultdict?) Yapabilmek istiyorum: x = defaultdict(...stuff...) x[0][1][0] {} Yani yapabilirim x = defaultdict(defaultdict), ama bu sadece ikinci bir seviye: x[0] {} x[0][0] KeyError: 0 Bunu yapabilecek tarifler var. Ancak, sadece normal …

30
Özyineleme nedir ve ne zaman kullanmalıyım?
Kilitli . Bu soru ve cevapları kilitlidir çünkü soru konu dışıdır ancak tarihsel önemi vardır. Şu anda yeni cevapları veya etkileşimleri kabul etmiyor. Posta listelerinde ve çevrimiçi tartışmalarda düzenli olarak ortaya çıkan konulardan biri, Bilgisayar Bilimleri Derecesi yapmanın yararları (veya yokluğu). Negatif parti için defalarca gündeme gelen bir argüman, birkaç …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.