498得票14回答
什么是记忆化,我如何在Python中使用它?

我刚刚开始学习Python,对于“记忆化”的概念和使用方法一无所知。能否给出一个简单的示例呢?

358得票12回答
什么是记忆化和动态规划的区别?

记忆化和动态规划有什么区别?我认为动态规划是记忆化的一个子集。这是否正确?

272得票9回答
什么是自下而上和自上而下的区别?

自底向上的动态规划方法是先考虑“较小”的子问题,然后使用解决较小问题的方法来解决更大的子问题。 自顶向下的方法是按照一种“自然的方式”来解决问题,并检查以前是否已经计算出了子问题的解。 我有点困惑。这两者之间有什么区别?

256得票20回答
有没有一个装饰器可以简单地缓存函数的返回值?

考虑以下内容:@property def name(self): if not hasattr(self, '_name'): # expensive calculation self._name = 1 + 1 return self._...

235得票21回答
如何使用动态规划确定最长递增子序列?

我有一组整数。我想使用动态规划找到该集合的最长递增子序列。

168得票5回答
缓存和记忆化的区别是什么?

我想知道和memoization之间的实际区别。 在我的理解中,两者都涉及通过存储数据来避免重复调用函数以获取数据。 它们之间的核心区别是什么?

149得票8回答
Haskell中的记忆化?

有没有关于如何高效地解决以下Haskell函数的指针,适用于大于108的数字(n > 108)f(n) = max(n, f(n/2) + f(n/3) + f(n/4)) 我在Haskell中看到了一些使用记忆化来解决斐波那契数列的例子,这些例子涉及计算(惰性地)所有需要的斐波那契数列...

135得票11回答
在Python中缓存类属性

我正在编写一个Python类,其中有一个属性需要相对较长的时间来计算,因此我只想计算一次。此外,并非每个类实例都需要该属性,因此在 __init__ 中不想默认计算。 我是Python新手,但并非编程新手。我可以轻松地想出一种方法来解决这个问题,但我发现一次又一次的,以“Pythonic”方...

124得票4回答
这个斐波那契函数是如何被记忆化的?

这个斐波那契函数是通过什么机制进行记忆化的?fib = (map fib' [0..] !!) where fib' 1 = 1 ...

112得票4回答
GHC Haskell中的自动记忆化是在何时进行的?

我无法理解为什么在下面的代码中m1被记忆化了,而m2没有:m1 = ((filter odd [1..]) !!) m2 n = ((filter odd [1..]) !! n) 对于m1 10000000,第一次调用大约需要1.5秒钟,随后的调用只需要一小部分时间(可能缓...