具有Find Max的位数组

时间:2016-01-27 20:37:43

标签: hashtable time-complexity bitarray

因此位数组和散列表似乎不具备查找 - 最大类型操作,但有很多方法可以解决它。在某些情况下,我想知道是否有一种方法可以单独使用位数组而无需额外的变量,指针或操纵数组的开始/结束。例如......

我有整数{1,...,n}和一个n位的数组。为了保留整数的子集,我使用整数本身作为位数组中的键,如果它在子集中则将该位设置为1,否则设置为0。

例如对于整数{1,2,3,4}和子集{1,3),位数组看起来像{1,0,1,0}。

似乎没有办法做到这一点,如果没有以某种方式移动位,这导致我相信O(1)梦想已经死亡,也许位阵列将无法工作。在O(log n)中是否可以这样?

由于

1 个答案:

答案 0 :(得分:0)

在长度为n的位数组上找到最高设置位是O(n)。如果您需要更好,那么您需要选择其他数据结构,或者在位图上保留高水位线。