#10671. 算法概念应用
算法概念应用
- 一个算法必须满足五个基本特性,其中“算法中的每一步操作都必须有确切的定义,不会产生二义性”这一特性被称为( )。 {{ select(1) }}
- 有穷性
- 确定性
- 可行性
- 输入性
- 下列函数中,随着输入规模 n 增大,增长率最大的是( )。 {{ select(2) }}
- f(n) = 100n
- f(n) =
- f(n) =
- f(n) =
- 分析以下代码段的时间复杂度。
for (int i = 1; i <= n; i *= 2) {
cout << i << endl;
}
{{ select(3) }}
- O(n)
- O(log n)
- O(n log n)
- O(n²)
- 如果一个算法需要为一个大小为 n×n 的二维数组分配空间,则该部分操作的空间复杂度是( )。 {{ select(4) }}
- O(n)
- O(n²)
- O(log n)
- O(1)
- 冒泡排序算法在最好的情况下(初始序列已有序),其时间复杂度是( )。 {{ select(5) }}
- O(n)
- O(n²)
- O(log n)
- O(n log n)
- 选择排序算法的时间复杂度是( )。 {{ select(6) }}
- O(n)
- O(n²)
- O(n log n)
- 与输入数据排列有关
- 以下关于插入排序算法的说法不正确的是( )。 {{ select(7) }}
- 是一种稳定排序算法
- 最坏情况下的时间复杂度为 O(n²)
- 在数据几乎有序时效率很高
- 空间复杂度为 O(n)
- 斐波那契数列通常使用递归方式定义:F(0)=0, F(1)=1, F(n)=F(n-1)+F(n-2) (n>=2)。如果直接用递归函数计算 F(n),其时间复杂度最接近( )。 {{ select(8) }}
- O(n)
- O()
- O(n²)
- O()
- 使用循环(迭代)方式计算斐波那契数列 F(n) 的时间复杂度和空间复杂度分别是( )。 {{ select(9) }}
- O(n) 和 O(1)
- O() 和 O(n)
- O(n) 和 O(n)
- O() 和 O(1)
- "二分查找"算法利用了以下哪种基本思想?( ) {{ select(10) }}
- 分治
- 贪心
- 动态规划
- 回溯