![]() |
1
5
看到你一点都没有回忆。 ghci> memRoute (2,2) mem: (2,2) route: (2,2) mem: (1,2) route: (1,2) mem: (0,2) mem: (1,1) route: (1,1) mem: (0,1) mem: (1,0) mem: (2,1) route: (2,1) mem: (1,1) route: (1,1) mem: (0,1) mem: (1,0) mem: (2,0) 6 重用子计算是非常重要的 dynamic programming .
|
![]() |
2
10
在我看来,“回忆录”被高估了。根本没有 一刀切的记忆技术(在任何编程中) 组织事情来控制你需要的内存量 使用。
在本例中,要获取
在哈斯克尔,懒惰是完美的这种情况。它缓解了 你已经完成了所有的工作,记下到底要记住什么 忘了什么-只需计算一个无限的总网格 所有可能的矩形,让Haskell做剩下的工作。
到终点只有一条路,所以路的数目是有限的
要从上一行计算网格中的一行,可以从
它在GHCi提示下为我即时计算出答案。 |
![]() |
3
0
这与你所表达的意图非常接近,但我认为有更好的方法可以通过使用
|