Problem D: [CSP-S1][程序阅读] 程序阅读4

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:122 Solved:12

Description

void recursion(int depth, int* arr, int size) {
    if (depth < 0 || size <= 1) return;
    int pivot = arr[0], i = 0, j = size - 1;
    while (i <= j) {
        while (arr[i] < pivot) i++;
        while (arr[j] > pivot) j--;
        if (i <= j) swap(arr[i++], arr[j--]);
    }
    recursion(depth-1, arr, j + 1);
    recursion(depth-1, arr + i, size - i);
}

判断题  

1. 当depth≥log2(size)时输出有序。( )  
2. 该实现是稳定的排序。( )  
3. 最坏时间复杂度为O(n²)。( )  
4. 当depth=0时直接返回。( )  
5. pivot选择影响性能。( )
选择题
6. 输入“5 5 1”时的输出是( )  
   A. 1 1 5 5 5  B. 5 5 5 1 1  C. 1 5 1 5 1  D. 5 1 5 1 5  
7. 该算法属于( )  
   A. 归并排序  B. 快速排序  C. 堆排序  D. 插入排序  
8. depth参数的作用是( )  
   A. 控制递归深度  B. 选择pivot  C. 限制划分次数  D. 优化内存  
9. 当输入已排序时,时间复杂度为( )  
   A. O(n²)  B. O(n log n)  C. O(n)  D. O(log n)  
10. 与标准快排的区别是( )  

    A. 非递归  B. 稳定  C. 原地  D. 限制递归深度