SORU
9 Aralık 2010, PERŞEMBE


Tamamen işlevsel bir veri yapısı faydası nedir?

Sayı veri yapıları metinler, kütüphaneler ve veri yapıları kodu büyük vardır. Tamamen işlevsel bir veri yapısı hakkında neden daha kolay olduğunu anlıyorum. Ancak zorunlu muadili üzerinden pragmatik kodu tamamen işlevsel bir veri yapısı kullanarak gerçek dünya avantajı (ya da değil fonksiyonel programlama dilini kullanarak) anlamak benim için zor. Biri tamamen işlevsel bir veri yapısı avantajı var ve neden bazı gerçek dünya durumlarda sağlayabilir?

Hat boyunca örnekler kullanıyorumdata_structure_nameprogramming_languageyapmakuygulamaçünkücertain_thing.

Teşekkürler.

PS: tamamen işlevsel bir veri yapısı kastım kalıcı veri yapısı aynı değildir. Kalıcı veri yapısı değişmez bir veri yapısıdır?? Diğer yandan tamamen işlevsel bir veri yapısı tamamen çalışır bir veri yapısıdır.

CEVAP
9 Aralık 2010, PERŞEMBE


Tamamen işlevsel (nam-ı diğer kalıcı veya değişmez) veri yapıları çeşitli avantajları sağlar:

  • sen hiç son derece artıran kilit vareşzamanlılık.
  • hangi yapı payı olabilirbellek kullanımını azaltır. Örneğin, Haskell liste [1, 2, 3, 4] düşünün ve Java gibi bazı zorunlu dil. Yeni bir liste üretmek için Haskell sizi sadece cons yeni (değer ve referans--sonraki öğesine çift) oluşturun ve yukarıdaki listede bağlayın. Java olarak önceki zarar vermemek için tamamen yeni bir liste oluşturmak zorunda.
  • kalıcı veri yapıları yapabilirsinizlazy.
  • eğer işlevsel bir stil kullanıyorsanız ayrıca,,zaman ve operasyon sırası düşünme kaçınınve bu yüzden, programlarınızın daha declarative olun.
  • veri yapısı değişmez olduğunu aslında, biraz daha varsayımlar ve çok yapmanızı sağlardil yeteneklerini genişletin. Örneğin, Clojure kullanır doğru hashCode uygulamaları sağlamak için değişmezliğini tanıdı gerçeğini() her nesne üzerinde yöntem, herhangi bir nesne bir haritada bir anahtar olarak kullanılabilir.
  • sabit veri ve fonksiyonel tarzı ile de rahatça kullanabilirsinizmemoization.

Çok fazla avantajları var, genel olarak modelleme için başka bir yoldur gerçek dünya. This ve SİCP bazı diğer bölümlerde değişmez yapıları, avantajları ve dezavantajları ile programlama daha doğru bakış açısı kazandıracak.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Barnacules Nerdgasm

    Barnacules N

    20 Temmuz 2006
  • CodingMadeEasy

    CodingMadeEa

    25 EYLÜL 2010
  • tinycammonitor

    tinycammonit

    14 Aralık 2010