二进制乘法的大O表示法复杂度

时间:2014-02-17 13:28:17

标签: big-o

以下操作的Big O表示法是什么:

A = 1 *(1 0 1 0)+ 0 *(0 1 0 1)


谢谢OlivierLi。那么,请这样:A = 1 *(0 1 1 0 1 0 1 0)+ 0 *(1 0 0 0 0 1 0 1)+ 1 *(1 1 0 0 1 1 0 0)+ 0 * (1 0 1 0 1 0 1 0)。它也是O(1)。如您所见,它就像一个二进制位乘以8个二进制位四次。如果它也是O(1),请和善,我该如何证明。最诚挚的问候,谢谢你。

2 个答案:

答案 0 :(得分:0)

这是O(1)。

它根本不依赖于任何输入,并且始终是恒定的。

答案 1 :(得分:0)

这里的问题是,我们是否将位数视为变量或常量。

位的常数:复杂度为O(1),因为所有可能的输入数字的复杂性相同。

可变位数:对于第一个数字的每个位,添加移位的第二个数字。考虑到任意长数的加法可能具有复杂度O(N),最终复杂度为O(N ^ 2),其中N是比特数。