小编lea*_*ers的帖子

以下计划的复杂性是什么?

以下计划的复杂性是什么?我认为它必须是O(n),因为有一个for循环运行了n次.

它是一个反转给定整数中的位的程序.

unsigned int reverseBits(unsigned int num)
{
    unsigned int NO_OF_BITS = sizeof(num) * 8;
    unsigned int reverse_num = 0;
    int i;
    for (i = 0; i < NO_OF_BITS; i++)
    {
        if((num & (1 << i)))
           reverse_num |= 1 << ((NO_OF_BITS - 1) - i);
    }
    return reverse_num;
}
Run Code Online (Sandbox Code Playgroud)

上述计划的复杂程度如何?有人说实际的复杂性是O(log n),但我看不出原因.

c c++

1
推荐指数
1
解决办法
405
查看次数

标签 统计

c ×1

c++ ×1