#include <stdio.h>
unsigned int reverseBits(unsigned int num)
{
unsigned int reverse_num = 0;
for(int i = 0; i < sizeof(unsigned int) * 8; ++i)
{
reverse_num = (reverse_num | (num & 1));
num = num >> 1;
if(i != (sizeof(unsigned int) * 8) - 1)
reverse_num = reverse_num << 1;
}
return reverse_num;
}
int main()
{
unsigned int num = 0;
scanf("%u", &num);
printf("bit reverse of %u is %u\n", num, reverseBits(num));
return 0;
}
Какова временная сложность этой функции обращения битов, если мы изменим размер ввода на uint_8 / uint_16 / uint64_t, цикл for будет выполнен для размера ввода * 8 раз.Эта функция работает в постоянное время для n входов.так какова временная сложность этой функции в большой записи "O"?