判断题
1.合并排序算法是稳定的排序方法。
选择题
1.对N个记录进行归并排序,归并趟数的数量级是:
|
选项 |
A |
O(logN) |
B |
O(N) |
C |
O(NlogN) |
D |
O(N2) |
2.对N个记录进行归并排序,空间复杂度为:
|
选项 |
A |
O(logN) |
B |
O(N) |
C |
O(NlogN) |
D |
O(N2) |
3.给出关键字序列{ 4321, 56, 57, 46, 28, 7, 331, 33, 234, 63 },下面哪个选择是按次位优先(LSD)链式基数排序进行了一趟分配和收集的结果?
|
选项 |
A |
→331→4321→33→63→234→56→46→57→7→28 |
B |
→4321→331→33→63→234→56→46→57→7→28 |
C |
→56→28→4321→331→33→234→46→57→63→7 |
D |
→57→46→28→7→33→234→63→56→4321→331 |
4.To sort N records by merge sort, the worst-case time complexity is:
|
选项 |
A |
O(logN) |
B |
O(N) |
C |
O(NlogN) |
D |
O(N2 ) |
5.桶排序算法的时间复杂度T(M, N)是多少?
void Bucket_Sort(ElementType A[], int N)
{ count[]初始化;
while (读入1个学生成绩grade)
将该生插入count[grade]链表;
for ( i=0; i<M; i++ ) {
if ( count[i] )
输出整个count[i]链表;
}
}
|
选项 |
A |
O(M) |
B |
O(N) |
C |
O(MN) |
D |
O(M+N) |