1、折半查找算法的算法复杂度是多少?
正确答案: A
O(log2N)
O(N)
O(N二次方)
O(1)
2、下面程序段的时间复杂度为______。
for (int i=0;i<m;i++)
for (int j=0;j<n;j++)
a[i][j]=i*j;
正确答案: C 你的答案: B (错误)
O(m2)
O(n2)
O(m*n)
O(m+n)
3、 算法的时间复杂度与( )有关。
正确答案: D 你的答案: C (错误)
所使用的计算机
与计算机的操作系统
与数据结构
与算法本身
3、红黑树的插入复杂度为( )。
正确答案: D 你的答案: D (正确)
O(n
O(1)
O(n^2)
O(log2(n))
4、算术表达式a+b*(c+d/e)转为后缀表达式后为()
正确答案: B 你的答案: B (正确)
ab+cde/*
abcde/++
abcde/++
abcde*/++
5、堆排序的时间复杂度是(),堆排序中建堆过程的时间复杂度是()。
正确答案: C 你的答案: D (错误)
O(n2),O(n log n)
O(n),O(n log n)
O(n log n),(n)
O(n log n),O(n log n)
6、在用邻接表表示图时,拓扑排序算法时间复杂度为( )。
正确答案: B 你的答案: B (正确)
O(n)
O(n+e)
O(nn)
O(nn*n)
9、下面的算法段针对不同的自然数 n 作不同的处理,其中函数 odd (n) 当 n 是奇数时返回 true ,否则返回 false ,
while ( n > 1)
if ( odd (n) )
n = 3 * n + 1;
else
n = n / 2;
请问该算法所需计算时间的下界是( )。
正确答案: D 你的答案: B (错误)
Ω(2^n)
Ω(nlog n)
Ω(n!)
Ω(logn)
10、设尾指针的循环链表表示队列,则入队和出队算法的时间复杂度均为O(1)()
正确答案: A 你的答案: A (正确)
对
错
11、题目来源于王道论坛
对有n个结点、e条边且使用邻接表存储的有向图进行广度优先遍历,其算法时间复杂度是()。
正确答案: C 你的答案: C (正确)
O(n)
O(e)
O(n+e)
O(n*e)
12、设二叉排序树上有n个结点,则在二叉排序树上查找结点的平均时间复杂度为()。
正确答案: D 你的答案: C (错误)
O(n)
O(n^2)
O(nlog2n)
O(1og2n)
13、对包含n个元素的散列表进行检索,平均检索长度()
正确答案: D 你的答案: B (错误)
为O(log2n)
为O(n)
为O(nlog2n)
不直接依赖于n
解析:散列表也叫做哈希表 哈希算法为n。
14、求最短路径的FLOYD算法的时间复杂度为()。
正确答案: D 你的答案: C (错误)
O(n)
O(n+e)
O(n2)
O(n3)
15、用常规的非递归方法遍历一个平衡二叉树,所需的时间复杂度和空间复杂度是?
正确答案: A 你的答案: B (错误)
O(n),O(n)
O(n),O(1)
O(nn),O(nn)
O(n),O(n*n)
16、n个数值选出最大m个数(3<m<n)的最小算法复杂度是
正确答案: A 你的答案: D (错误)
O(n)
O(nlogn)
O(logn)
O(mlogn)
O(nlogm)
O(mn)
17、算法一般都可以用哪几种控制结构组合而成?
正确答案: A B D
顺序
选择
递归
循环
解析:递归不属于基本控制结构。
18、0
以下说法,正确的有()
正确答案: A B C D 你的答案: B C (错误)
红黑树插入操作的平均时间复杂度为0(log n),最坏时间复杂度为0(log n)
归并排序的最差情况复杂度O(nlogn)
堆排序的最差情况复杂度O(nlogn)
不论线性表采用顺序存储结构还是链式存储结构,删除值为X的结点的时间复杂度均为O(n)