• 扩大
    缩小

    数据结构作业9:排序

     

    选择排序

     

    (类似冒泡,每次扫描最小的数字 记下下标)

     

    希尔排序

    ** for(for(for(if)))**)

    public static int[]  insertionSort(int[] arr){
        if(arr == null || arr.length <= 1){
            return arr;
        }
        //希尔排序  升序
        for (int d = arr.length / 2;d>0;d /= 2){ //d:增量  7   3   1
            for (int i = d; i < arr.length; i++){ 
                //i:代表即将插入的元素角标,作为每一组比较数据的最后一个元素角标 
                //j:代表与i同一组的数组元素角标
                for (int j = i-d; j>=0; j-=d){ //在此处-d 为了避免下面数组角标越界
                    if (arr[j] > arr[j + d]) {// j+d 代表即将插入的元素所在的角标
                        //符合条件,插入元素(交换位置)
                        int temp = arr[j];
                        arr[j] = arr[j + d];
                        arr[j + d] = temp;
                    }
                }
            } 
        }
        return arr;
    }

    快速排序 

    (分而治之,类似二叉树,找一个标准,大于放其右,小于放其左)

    https://www.bilibili.com/video/BV1b7411N798?p=81&share_source=copy_web

     

    归并排序

    (反二叉树,由根到总)

     

     

     对N个记录进行归并排序,归并趟数的数量级是:  O(logN)

     

    ——————————————————————————————————————————————————————————————

    1.采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中,正确的是: [C]

    A. 每次划分后,先处理较长的分区可以减少递归次数
    B. 每次划分后,先处理较短的分区可以减少递归次数

    C. 递归次数与每次划分后得到的分区处理顺序无关

    D. 递归次数与初始数据的排列次序无关

     

    2.

    要从50个键值中找出最大的3个值,选择排序比堆排序快。

     
    3.

    N个元素采用简单选择排序,比较次数和移动次数分别为:A

    A.O(N2), O(N)                               B.O(N), O(logN)
    C.O(logN), O(N2)                          D.O(NlogN), O(NlogN)
     
    4.

    数据序列{ 3, 1, 4, 11, 9, 16, 7, 28 }只能是下列哪种排序算法的两趟排序结果?D

    A.冒泡排序
    B.快速排序
    C.插入排序
    D.堆排序
     冒泡排序、堆排序 每次排序都会有一最大/小值排到最前/后面    插入排序 两趟排序会有2个排好的元素在前/后面
     
    5.

    排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一“趟”。下列序列中,不可能是快速排序第二趟结果的是:D

    A.5, 2, 16, 12, 28, 60, 32, 72
    B.2, 16, 5, 28, 12, 60, 32, 72
    C.2, 12, 16, 5, 28, 32, 72, 60
    D.5, 2, 12, 28, 16, 32, 72, 60
     
    6.

    N个记录进行归并排序,归并趟数的数量级是:A

    A.O(logN)
    B.O(N)
    C.O(NlogN)
    D.O(N2)

    posted on 2022-06-17 16:03  Ancientea  阅读(199)  评论(0)    收藏  举报

    导航