Algoritma karmaşıklığı daha düşük seviye detaylarından bağımsız olacak şekilde tasarlanmıştır, ancak zorunlu bir modele dayanır, örneğin bir dizideki erişime ve bir ağaçtaki bir düğümü değiştirme O (1) zaman alır. Bu, saf işlevsel dillerde geçerli değildir. Haskell listesi erişim için doğrusal zaman alır. Ağaçtaki bir düğümü değiştirmek, ağacın yeni bir kopyasını almayı içerir.
Öyleyse, fonksiyonel diller için alternatif bir algoritma karmaşıklığı modeli olmalı mı?
ST
monad'ler) kullanarak dizi erişimi yapmanıza ve değiştirmenize izin verir .