#10671. 算法概念应用

算法概念应用

  1. 一个算法必须满足五个基本特性,其中“算法中的每一步操作都必须有确切的定义,不会产生二义性”这一特性被称为( )。 {{ select(1) }}
  • 有穷性
  • 确定性
  • 可行性
  • 输入性
  1. 下列函数中,随着输入规模 n 增大,增长率最大的是( )。 {{ select(2) }}
  • f(n) = 100n
  • f(n) = n2n^2
  • f(n) = n3n^3
  • f(n) = 2n2^n
  1. 分析以下代码段的时间复杂度。
for (int i = 1; i <= n; i *= 2) {
    cout << i << endl;
}

{{ select(3) }}

  • O(n)
  • O(log n)
  • O(n log n)
  • O(n²)
  1. 如果一个算法需要为一个大小为 n×n 的二维数组分配空间,则该部分操作的空间复杂度是( )。 {{ select(4) }}
  • O(n)
  • O(n²)
  • O(log n)
  • O(1)
  1. 冒泡排序算法在最好的情况下(初始序列已有序),其时间复杂度是( )。 {{ select(5) }}
  • O(n)
  • O(n²)
  • O(log n)
  • O(n log n)
  1. 选择排序算法的时间复杂度是( )。 {{ select(6) }}
  • O(n)
  • O(n²)
  • O(n log n)
  • 与输入数据排列有关
  1. 以下关于插入排序算法的说法不正确的是( )。 {{ select(7) }}
  • 是一种稳定排序算法
  • 最坏情况下的时间复杂度为 O(n²)
  • 在数据几乎有序时效率很高
  • 空间复杂度为 O(n)
  1. 斐波那契数列通常使用递归方式定义:F(0)=0, F(1)=1, F(n)=F(n-1)+F(n-2) (n>=2)。如果直接用递归函数计算 F(n),其时间复杂度最接近( )。 {{ select(8) }}
  • O(n)
  • O(2n2^n)
  • O(n²)
  • O(lognlog n)
  1. 使用循环(迭代)方式计算斐波那契数列 F(n) 的时间复杂度和空间复杂度分别是( )。 {{ select(9) }}
  • O(n) 和 O(1)
  • O(2n2^n) 和 O(n)
  • O(n) 和 O(n)
  • O(2n2^n) 和 O(1)
  1. "二分查找"算法利用了以下哪种基本思想?( ) {{ select(10) }}
  • 分治
  • 贪心
  • 动态规划
  • 回溯