#P1344. 【Day2】复杂度判断(12题)
【Day2】复杂度判断(12题)
第 1 题
for (int i = 0; i < n; i++) ans++; 的时间复杂度是( )。
{{ select(1) }}
- O(1)
- O(log n)
- O(n)
- O(n log n)
- O(n^2)
第 2 题
for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) ans++; 的时间复杂度是( )。
{{ select(2) }}
- O(1)
- O(log n)
- O(n)
- O(n log n)
- O(n^2)
第 3 题
for (int i = 1; i <= n; i *= 2) ans++; 的时间复杂度是( )。
{{ select(3) }}
- O(1)
- O(log n)
- O(n)
- O(n log n)
- O(n^2)
第 4 题
for (int i = n; i > 0; i /= 2) ans++; 的时间复杂度是( )。
{{ select(4) }}
- O(1)
- O(log n)
- O(n)
- O(n log n)
- O(n^2)
第 5 题
两个独立的 for (int i = 0; i < n; i++) ans++; 顺序执行,总时间复杂度是( )。
{{ select(5) }}
- O(1)
- O(log n)
- O(n)
- O(n log n)
- O(n^2)
第 6 题
for (int i = 0; i < n; i++) for (int j = 1; j <= n; j *= 2) ans++; 的时间复杂度是( )。
{{ select(6) }}
- O(1)
- O(log n)
- O(n)
- O(n log n)
- O(n^2)
第 7 题
for (int i = 1; i <= n; i++) for (int j = 1; j <= i; j++) ans++; 的时间复杂度是( )。
{{ select(7) }}
- O(1)
- O(log n)
- O(n)
- O(n log n)
- O(n^2)
第 8 题
int i = 1; while (i < n) i += 10; 的时间复杂度是( )。
{{ select(8) }}
- O(1)
- O(log n)
- O(n)
- O(n log n)
- O(n^2)
第 9 题
int i = 1; while (i < n) i *= 3; 的时间复杂度是( )。
{{ select(9) }}
- O(1)
- O(log n)
- O(n)
- O(n log n)
- O(n^2)
第 10 题
for (int i = 0; i < n; i++) for (int j = 0; j < 100; j++) ans++; 的时间复杂度是( )。
{{ select(10) }}
- O(1)
- O(log n)
- O(n)
- O(n log n)
- O(n^2)
第 11 题
for (int i = 0; i < n; i++) for (int j = i; j < n; j++) ans++; 的时间复杂度是( )。
{{ select(11) }}
- O(1)
- O(log n)
- O(n)
- O(n log n)
- O(n^2)
第 12 题
执行 while (x) { x &= x - 1; },该循环的执行次数取决于( )。
{{ select(12) }}
- x 的二进制中 1 的个数
- x 的数值大小
- x 的二进制位数
- 固定常数次