NEW
Font size
Worksheets算法选择测验题
Total questions: 20
Worksheet time: 14mins
下列不属于算法基本要素的是( )
输入和输出
确定性的步骤
冗余的循环结构
有穷性的执行过程
若算法 A 的时间复杂度为 O(n) ,算法 B 的时间复杂度为 O(n2) ,则下列说法正确的是( )
对于所有 n,算法 A 比算法 B 快
当 n 足够大时,算法 A 比算法 B 快
算法 A 的代码一定比算法 B 短
算法 A 的空间复杂度一定比算法 B 低
算法的空间复杂度是指( )
算法程序占用的内存空间
除了输入输出外算法执行过程中临时占用的存储空间
算法程序的长度
算法处理的数据量
下列关于算法优劣评价的说法,错误的是( )
时间复杂度和空间复杂度是核心评价指标
可读性好的算法便于维护和优化
算法的效率优先于正确性
健壮性强的算法能处理异常输入
下列排序算法中,平均时间复杂度为 O(nlogn) 的是( )
冒泡排序
插入排序
快速排序
简单选择排序
对一个已经有序的数组进行排序,下列排序算法中效率最高的是( )
快速排序
冒泡排序
归并排序
选择排序
下列关于二分查找的说法,正确的是( )
二分查找适用于无序数组
二分查找的时间复杂度为 O(logn)
二分查找不需要数组有序
二分查找的空间复杂度一定为 O(1)
下列排序中属于不稳定的排序方法是( )
冒泡排序
插入查找
快速查找
归并排序
递归算法中,若缺少终止条件会导致( )
算法执行速度变慢
栈溢出错误
算法结果错误
内存泄漏
执行递归函数 f(4),其返回值为( ) int f(int n) { if (n == 0 || n == 1) return 2; return f(n-1) + f(n-2); }
6
8
10
12
下列关于迭代法的说法,错误的是()。
迭代法通常通过循环结构实现
迭代法的空间复杂度一般低于递归法
所有递归算法都可以转换为迭代算法
迭代法不需要函数调用,执行效率更高
用迭代法求解“求两个数的最大公约数”问题,最常用的方法是()。
穷举法
辗转相除法
二分法
排序法
下列迭代算法的时间复杂度为 O(n) 的是()。
用双重循环遍历二维数组
用单循环计算数组元素的平均值
用二分法查找有序数组中的元素
用冒泡排序对数组排序
下列关于暴力法的说法,正确的是()。
暴力法的代码实现一定复杂
暴力法在任何情况下都不适用
暴力法的优点是逻辑简单,易于实现
暴力法的空间复杂度始终为 O(1)
分治法的核心思想不包括( )
将原问题分解为多个子问题
子问题与原问题结构相同
先解决子问题再合并结果
利用贪心策略选择最优子问题
归并排序算法的关键步骤是( )
选择基准元素区分
将两个有序子数组合并为一个有序数组
筛选出最小元素
调整堆结构
贪心法能得到全局最优解的前提是问题满足( )
可分解性和可合并性
最优子结构和贪心选择性质
子问题重叠性和最优子结构
有穷性和可行性
活动安排问题中,贪心法的最优选择是( )
选择持续时间最长的活动
选择开始时间最早的活动
选择结束时间最早的活动
选择与已选活动重叠最少的活动
动态规划法中,“dp数组”的主要作用是( )
存储输入数据
记录已解决的子问题,避免重复计算
优化算法的空间复杂度
提高算法的可读性
下列关于动态规划和贪心法的区别,说法正确的是( )
动态规划只处理数值问题,贪心法只处理非数值问题
动态规划需要存储子问题解,贪心法不需要
动态规划的时间复杂度一定高于贪心法
动态规划不能处理优化问题,贪心法可以
