假设有一个数据流到达,D(0),D(1),D(2),......当D(i)到来时,我想知道D(i - N)。最直接的方法是存储最新的N项,并在新数据到达时不断更新。但问题是N可能很大,因此没有足够的内存来存储它们。无论如何通过存储比N少得多的物品来实现这一点?常数M <&lt; N个空格是首选?提前谢谢。
答案 0 :(得分:1)
除非您可以利用的数据有一些规律性,否则我无法看到。如果数据是完全随机的(因此不能从其他元素推断出元素),那么选择不保存元素 k 将使得无法在迭代中重现该元素 k + N
相反,请考虑:
(顺便说一句,这是什么应用?)