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

  • Drakinen

    Drakinen

    1 EYLÜL 2008
  • bored before i even began

    bored before

    30 Mart 2009
  • Wild Academy

    Wild Academy

    8 Aralık 2009