我正在寻找一种从给定数据流(~100k值/秒)的1分钟滑动窗口有效维护一组值的方法。
我正在寻找具有最多对数插入时间的解决方案(因为基本的时间有序向量值具有o(n))
答案 0 :(得分:1)
除非我误解了你的问题,否则这可以在一个循环缓冲区的恒定时间内(每次插入不变)完成。分配一个缓冲区,其长度大于窗口中元素的最大数量。例如。每秒最多100k值每分钟600万个值,因此分配一个长度为8388608字节的缓冲区。将绝对索引保留在此缓冲区中,但插入其中,并通过使用0x7FFFFF屏蔽索引来从中删除元素。