SORU
16 EYLÜL 2008, Salı


Özyineleme veya Yineleme?

Bir performans döngü yerine özyineleme kullanırsak vurmak ya da tam tersi her ikisi de aynı amaca hizmet ettiği algoritmalar var mı? Örneğin : eğer belirli bir dize palindrom olup olmadığını Kontrol edin. Birçok programcı basit yineleme algoritması tasarıyı uygun olabilir göstermek için bir araç olarak özyineleme kullanarak gördüm. Derleyici kullanmak için ne karar verirken önemli bir rol oynar mı?

CEVAP
16 EYLÜL 2008, Salı


Özyineleme daha pahalı, eğer özyinelemeli işlevi tail recursive ise (son satırı özyinelemeli çağrı) bağlı olabilir. Kuyruk özyinelemegerekirderleyici tarafından tanınması ve yinelemeli muadili kodunuzda var açık seçik uygulanması korurken () için optimize edilmiş.

Yazarım algoritma gibi yapar en mantıklı ve en temizlemek için zavallı, kendini ya da başka birini) korumak kodda bir kaç ay ya da yıl. Eğer performans sorunları çalıştırmak eğer kod profil, ve daha sonra ve yinelemeli bir uygulama üzerinde hareket ettirerek optimize içine bak o zaman. memoization dynamic programming içine bakmak isteyebilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Atlantic Records

    Atlantic Rec

    15 Aralık 2006
  • Michael Neal

    Michael Neal

    2 Mayıs 2009
  • wwjoshdo

    wwjoshdo

    25 Mayıs 2009