1-1
Nlog(N^2)和NlogN具有相同的增长速度。 (2分)
T F
解析:T,一点点数学知识就很容易判断出来
1-2
2N和NN具有相同的增长速度。 (2分)
T F
解析:F,N的N次方的增长速度是最快的,没有之一
1-3
(logN)2是O(N)的。 (2分)
T F
解析:F,logN在N趋于无穷大时趋于常数,常数的平方还是常数,而O(N)是趋于无穷大的
1-4
N(logN)2是O(N2)的。 (2分)
T F
解析:F,约掉一个N与第三题一致
1-5
N2/1000是O(N)的。 (1分)
T F
解析:F,O(N)是不看系数的,故N2/1000是O(N2)的
1-6
斐波那契数列FN的定义为:F0=0, F1=1, FN=FN−1+FN−2, N=2, 3, …。用递归函数计算FN的时间复杂度是O(N!)。 (3分)
T F
解析:F,已有证明斐波那契数列时间复杂度为O(FN)
1-7
斐波那契数列FN的定义为:F0=0, F1=1, FN=FN−1+FN−2, N=2, 3, …。用递归函数计算FN的空间复杂度是O(N)。 (3分)
解析:F,已有证明斐波那契数列时间复杂度为O(FN)
T F
1-8
算法分析的两个主要方面是时间复杂度和空间复杂度的分析。 (1分)
T F
解析:T,基本概念
1-9
对于顺序存储的长度为N的线性表,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。 (1分)
T F
解析:T,顺序表访问节点可以根据首节点地址和目标节点计算需要移动的距离,所以是O(1)的,但是增加节点需要改变原有节点的地址,所以是O(N)的
1-10
若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用顺序表存储最节省时间。 (2分)
T F
解析:T,存取元素顺序表占优,增删元素链表占优,不过这里是在最后增删,故不需要改变原有节点,综合考虑顺序表仍占优
1-11
在具有N个结点的单链表中,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。 (1分)
T F
解析:F,这段话反了,应该是O(N)和O(1)的
1-12
将N个数据按照从小到大顺序组织存放在一个单向链表中。如果采用二分查找,那么查找的平均时间复杂度是O(logN)。 (2分)
T F
解析:F,二分查找复杂度中对数应该以2为底,log默认是以10为底,肯定不对的