我正在實現一個具有以下簽名的函數來解決Haskell中的0-1揹包問題。如何用Haskell中的列表作爲參數或返回值來記憶函數?
knapsack :: [Item] -> Capacity -> [Item]
凡Item
和Capacity
文件被定義爲:
type Value = Int
type Weight = Int
type Capacity = Int
type Item = (Value, Weight)
我想memoize的它有更好的性能。我試圖使用Data.MemoCombinators,但我不知道如何讓它工作。
你能給我一些提示?
你可以發佈你的'Item'和'Capacity'類型嗎?這是爲他們定義記憶功能所必需的。 –
當然,我只是編輯了我的問題。它們只是一對整數和一個整數 – mariosangiorgio