判断题
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) |