根据这篇文章Performance of doing bitwise operations on bitsets,性能是O(n)我如何使其成为O(log n)。 谢谢。
答案 0 :(得分:3)
答案是你没有。
假设您有一个n
大小的位集。
我们来看看xor运算符^
。
显然,它必须查看两个操作数中的每个位,因此它会进行2n
次查找。
这会导致O(n)
的复杂性。
您可以使用汇编程序指令,例如一次做32位,因此操作次数为(n+31)/32
,但这并不会改变复杂度O(n)
。在计算n
向无穷大的所有复杂度之后,忽略常数因子。