#10674. 算法概念与复杂度分析练习题
算法概念与复杂度分析练习题
选择题
- 下面关于算法的描述中,错误的是( )。 {{ select(1) }}
- 算法是指令的有限序列,能够对一定规范的输入在有限时间内获得所要求的输出
- 算法必须具有有穷性、确定性、输入项、输出项和可行性五个特征
- 算法的时间复杂度和空间复杂度是评价算法优劣的主要标准
- 算法的时间复杂度越高,算法的执行效率就越高
- 关于算法的有穷性特征,以下说法正确的是( )。 {{ select(2) }}
- 算法必须能在执行有限个步骤之后终止,且每个步骤在有限时间内完成
- 算法必须能够处理无限大的输入数据
- 算法必须能够在无限时间内完成计算
- 算法必须能够解决所有类型的计算问题
- 下面代码段的时间复杂度是( )。
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
cout << i << " " << j << endl;
}
}
{{ select(3) }}
- O(1)
- O(n)
- O(n²)
- O(2ⁿ)
- 下面代码段的时间复杂度是( )。
int i = 1;
while(i < n) {
i = i * 2;
cout << i << endl;
}
{{ select(4) }}
- O(1)
- O(n)
- O(log n)
- O(n log n)
- 算法的空间复杂度是指( )。 {{ select(5) }}
- 算法源代码占用的存储空间大小
- 算法执行过程中临时占用存储空间大小的量度
- 算法输入数据占用的存储空间大小
- 算法输出结果占用的存储空间大小
- 秦九韶算法的主要优点是( )。 {{ select(6) }}
- 能够计算任意高次多项式的值
- 减少了多项式求值中的计算操作次数
- 能够处理复数系数的多项式
- 能够求解多项式的根
- 关于P问题和NP问题,以下说法正确的是( )。 {{ select(7) }}
- 所有的P问题都是NP问题
- 所有的NP问题都是P问题
- P问题不等于NP问题已被数学证明
- NP问题不能在多项式时间内验证解的正确性
- 高精度数值处理主要用于解决( )。 {{ select(8) }}
- 小数运算精度不足的问题
- 大整数超出标准数据类型范围的问题
- 复数运算的问题
- 矩阵运算的问题
- 下面关于时间复杂度和空间复杂度的关系,正确的是( )。 {{ select(9) }}
- 时间复杂度和空间复杂度总是正相关
- 改善时间复杂度可能会增加空间复杂度
- 改善空间复杂度可能会降低时间复杂度
- 时间复杂度和空间复杂度没有关系
- 算法的确定性特征是指( )。 {{ select(10) }}
- 算法必须有明确的输入和输出
- 算法的每一步骤必须有确切的定义,不允许有歧义
- 算法必须在有限时间内结束
- 算法必须能够处理各种异常情况
判断题
- 算法必须具有至少一个输入和一个输出。 {{ select(11) }}
- 正确
- 错误
- 时间复杂度为O(1)的算法执行时间不随问题规模增大而增加。 {{ select(12) }}
- 正确
- 错误
- 空间复杂度只考虑算法执行过程中临时占用的存储空间。 {{ select(13) }}
- 正确
- 错误
- 秦九韶算法通过减少乘法次数来优化多项式求值。 {{ select(14) }}
- 正确
- 错误
- 所有的NP问题都可以在多项式时间内解决。 {{ select(15) }}
- 正确
- 错误
- 高精度数值处理通常使用数组来存储大整数的每一位。 {{ select(16) }}
- 正确
- 错误
- 算法的时间复杂度和空间复杂度总是可以同时优化。 {{ select(17) }}
- 正确
- 错误
- NPC问题是NP问题中最难的一类问题。 {{ select(18) }}
- 正确
- 错误
- 算法的可行性是指算法必须能够在计算机上实现。 {{ select(19) }}
- 正确
- 错误
- 递归算法总是比迭代算法更高效。 {{ select(20) }}
- 正确
- 错误
相关
在以下作业中: