通过随机嵌套数据进行最快速搜索

时间:2012-06-08 14:06:28

标签: python algorithm

[
   [
      [2,33,64,276,1],
      [234,5,234,7,34,36,7,2],
      []
   ]
   [
      [2,4,5]
   ]
   .
   .
   .
   etc
]

我不是在寻找一个确切的解决方案,因为上面的结构只是一个例子。我正在尝试搜索一个ID,该ID可以嵌套在一组随机排序的ID中的几个级别。

目前我只是进行线性搜索,当每个最深层次都有几百个ID时,需要几分钟才能得到结果。我想知道是否有人可以建议更快的算法来搜索多级随机数据?如果重要的话,我在Python中这样做。

注意:ID始终处于最深层,并且每个分支的层数都是一致的。不确定这是否重要。

另外澄清数据点是唯一的,不能重复。我的例子有一些重复,因为我只是粉碎了键盘。

1 个答案:

答案 0 :(得分:3)

通过随机数据进行的最快搜索是线性的。假装你的数据不是嵌套的,它仍然是随机的,所以即使展平它也无济于事。

为了减少时间复杂度,可以增加空间复杂度 - 保存包含ID作为键的dict以及您想要的任何信息(可能是指向包含每个级别ID的列表的索引列表),并更新它每次创建/更新/删除元素时。