2
我嘗試使用Data.Array code 沒關係,但速度很慢。如何在Haskell中使用DiffArray?如何使這個代碼更嚴格?
然後使用Data.Array.Diff
code
找不到模塊`Data.Array.Diff」
如果我使用Data.Array.Unboxed,比未發現DiffArray或DiffUArray構造函數。
如何使用DiffArray和DiffUArray?
DiffUArray比DiffArray更優化性能?
我如何讓代碼更懶惰(更嚴格)?
我不想使用IOArray或STArray,因爲學習。如果存在,我應該只使用IArray和其他一些非一元數組。
Haskell是否從C++獲得了容器std :: deque的模擬類型,並且具有索引訪問權限,並且算法複雜度爲O(1)並且由塊組成? –
爲什麼DiffArray已過時? DiffArray比簡單的不可變數組更慢? –
@EricRougier事實上,事實證明,'DiffArray'實現比在大多數情況下使用普通不可變數組要慢。如果你想要速度,你可以使用可變數組(或者可變的'Vector's,原則上沒有速度差異,只是'vector'帶有一個融合框架,它承擔了編寫快速代碼的一些負擔)。如果你不想要可變結構,'vector'的融合框架使用不可變的'vector'編寫快速代碼要比使用不可變的'Array'更容易。 –