0

我需要实现一个在序列上滑动的滑动窗口。(1:[0,1,2,3]2:[1,2,3,4],...) 哪个 aprove 可能更快?1.

for each step i; {List=wholeList.sublist(i,i+windowlen)}

或 2。

  List window=wholeList.sublist(0,window);
  for each i{
  window.remove(0);
  window.add(i+windowlen);

}

?

我用 system.currtime bla .. +-std 测量了时间,SubLists 似乎工作得更快.. 但为什么呢?我认为第二种方法是 O(n)

我需要操作庞大的数据库..因此我需要看看这个..

制造一月

4

1 回答 1

1

假设删除步骤只是步骤 2 的一部分,它们并不等效,因此比较它们是没有意义的。第二个修改了 subsist 和基础列表。我怀疑(2)是否会起作用。我认为没有任何理由超越(1)。

于 2013-05-11T00:36:47.670 回答