en Haskell aşağıdaki biz var diyelim:Haskell GHC: Bir modelin N yapıcılarla zaman uyuşmazlığı nedir?
data T = T0 | T1 | T2 | ... | TN
toInt :: T -> Int
toInt t = case t of
T0 -> 0
T1 -> 1
T2 -> 2
...
TN -> N
Ne algoritması burada desen maç gerçekleştirmek için kullanılır?
(1) Doğrusal arama, bu özel görevi mantıklı olurdu
if (t.tag == T0) { ... }
else if (t.tag == T1) { ... }
else ...
(2) İkili arama gibi bir şey,: İki seçenek görmek sette {TO
yılında t.tag
ararken ... T1023
}. Bununla birlikte, örüntü eşleştirmenin genel olarak birçok başka yetenekleri ve genellemeleri olduğu yerlerde, bu kullanılamaz.
GHC ile derleme, hangi algoritma kullanılır ve t
toInt
içinde desen eşleştirme için N açısından zaman karmaşıklığı nedir?
Bu soru bana şunu hatırlattı: [GHC'nin otomatik türevli Eq'si gerçekten * O (N) *?] (Http://stackoverflow.com/questions/6212387) – hvr