我希望将我的数据存储在一个数据结构中,这样我就可以有效地执行以下操作:
我有10个类型1的数组和10个类型为2的数组,每个数组包含100个元素 . 每个数组存储100个变量的值 . 伴随着这些,我有20个包含相应变量ID的数组 . 在类型1的总数组中,1000个变量的存储值和类型2的数组存储相同1000个变量的不同值 .
现在,我需要对类型1的数组中的变量值与类型2的数组的值进行区分 . 设A是类型1的数组之一 . 问题是A中的变量将分别为10跨所有10个类型2的数组 .
哈希映射没有用,因为我还需要迭代每个数组中的值 . 有任何想法吗?
1 回答
如果您打算经常执行此类操作,则可能需要在程序启动时构造和索引(构造具有
O(n^2)
时间复杂度),然后再引用它 .这将允许您线性地遍历
A
类型的数组,并在恒定时间内从类型B
的数组中获取值 . 您也可以用类似的方式从A
中减去B
项目 .或者,您可以浏览索引项并从另一项中减去一项 .