#M9029. Mageek原创

Mageek原创

当前没有测试数据。

  1. 主基于比较的排序时间复杂度的下限是( ),其中n表示待排序元素的个数? {{ select(1) }}
  • O(n)O(n)
  • O(nlogn)O(n logn)
  • O(logn)O(logn)
  • O(n2)O(n^2)

  1. 下列算法中运用分治思想的有? {{ select(2) }}
  • 冒泡排序
  • 计数排序
  • 插入排序
  • 快速排序

  1. 若一个元素序列基本有序,则选用( )方法排序起来较快? {{ select(3) }}
  • 直接插入排序
  • 简单选择排序
  • 堆排序
  • 快速排序

  1. 数据表A中有10000个元素,如果仅要求求出其中最大的10个元素,则采用( )排序算法最节省时间? {{ select(4) }}
  • 简单选择排序
  • 希尔排序
  • 堆排序
  • 快速排序

  1. (多选)基于链式队列,关于计数排序的叙述中正确的是? {{ multiselect(5) }}
  • 计数排序是一种基于比较的排序算法
  • 计数排序的时间复杂度为O(n+k)
  • 计数排序的空间复杂度为 O(k)
  • 计数算法是原地排序算法

  1. 设一组初始记录关键字序列为(345,253,674,924,627),则用基数排序需要进行( )趟的分配和回收才能使得初始关键字序列变成有序序列? {{ select(6) }}
  • 4
  • 3
  • 8
  • 5

  1. 对整数序列179 208 93 306 55 859 984 9 271 33使用基数排序,第一趟分配收集之后的结果是? {{ select(7) }}
  • 271 93 33 984 55 306 208 179 859 9
  • 93 55 9 33 179 208 271 306 859 984
  • 208 306 9 33 55 859 179 271 984 93
  • 9 33 55 93 179 208 271 306 859 984

  1. 对n个元素进行直接插入排序的时间复杂度为? {{ select(8) }}
  • O(1)O(1)
  • O(n)O(n)
  • O(n2)O(n^2)
  • O(logn)O(logn)

  1. 若对n个元素进行直接插入排序,则在进行任意一轮排序的过程中,寻找插入位置所需要的时间复杂度为? {{ select(9) }}
  • O(1)O(1)
  • O(n)O(n)
  • O(n2)O(n^2)
  • O(logn)O(logn)

  1. 对下列4个序列用快速排序方法进行排序,以序列的第1个元素为基准进行划分,在第1趟划分过程中,元素移动次数最多的是序列? {{ select(10) }}
  • 70,75,82,90,23,16,10,68
  • 70,75,68,23,10,16,90,82
  • 82,75,70,16,10,90,68,23
  • 23,10,16,70,82,75,68,90

  1. 以下关于快速排序的说法中,错误的是? {{ select(11) }}
  • 可以以任意元素作为基准数(中轴元素)
  • 应用了分治思想
  • 最坏时间复杂度为O(nlogn)
  • 属于原地排序

  1. 若对n个元素进行简单选择排序,则在进行任一轮排序的过程中,寻找最小值元素所需要的时间复杂度为? {{ select(12) }}
  • O(1)O(1)
  • O(logn)O(logn)
  • O(n2)O(n^2)
  • O(n)O(n)

  1. 冒泡排序在最好的情况下的时间复杂度为? {{ select(13) }}
  • O(1)O(1)
  • O(logn)O(logn)
  • O(n)O(n)
  • O(n2)O(n^2)

  1. 对n个数用以上冒泡排序算法进行排序,最少需要比较( )次? {{ select(14) }}
  • n2n^2
  • n2n-2
  • n1n-1
  • nn

  1. 设A和B是两个长均为m的有序数组,现将A和B合并成一个有序数组,问任何以元素比较作为基本运算的归并算法,在最坏情况下至少要做( )次比较? {{ select(15) }}
  • m2m^2
  • mlogmmlogm
  • 2m2m
  • 2m12m-1

  1. 在平均情况下,速度最快的排序方法为? {{ select(16) }}
  • 简单选择排序
  • 冒泡排序
  • 堆排序
  • 快速排序

  1. 若需要在O(nlogn)的时间内完成对数组的排序,且要求排序是稳定的,则可以选择的排序方法是? {{ select(17) }}
  • 快速排序
  • 堆排序
  • 归并排序
  • 希尔排序

  1. 以下排序算法中,( )是稳定的? {{ select(18) }}
  • 选择排序
  • 快速排序
  • 堆排序
  • 归并排序

  1. 在排序方法中,关键字比较的次数与记录的初始排列顺序无关的是? {{ select(19) }}
  • 希尔排序
  • 冒泡排序
  • 插入排序
  • 选择排序

  1. 以下哪一种情况下,选择排序的时间复杂度最高? {{ select(20) }}
  • 数组元素已经有序
  • 数组元素逆序排列
  • 数组元素随机排列
  • 数组元素只有一个

  1. 对于一个长度为n的数组,选择排序的比较次数和交换次数分别是多少? {{ select(21) }}
  • n2n2n^2,n^2
  • n2nn^2,n
  • nlognnlognnlogn,nlogn
  • nlognnnlogn,n

  1. 待排序数组为(46,24,57,23,40,15),则利用选择排序的方法,第二趟排序的结果是? {{ select(22) }}
  • 15,46,57,24,40,23
  • 15,23,57,46,40,24
  • 15,23,24,46,40,57
  • 15,23,24,40,46,57

  1. 堆排序的时间复杂度是多少? {{ select(23) }}
  • O(nlogn)O(nlogn)
  • O(n2)O(n^2)
  • O(n)O(n)
  • O(logn)O(logn)

  1. 在堆排序中,如果要升序排序一个数组,应该使用什么类型的堆? {{ select(24) }}
  • 大根堆
  • 小根堆
  • 无序堆
  • 随意堆

  1. 在堆排序中,对于一个包含n个元素的数组,构建初始堆所需的时间复杂度是多少基本运算的归并算法,在最坏情况下至少要做( )次比较? {{ select(25) }}
  • O(n)O(n)
  • O(logn)O(logn)
  • O(nlogn)O(nlogn)
  • O(n2)O(n^2)

  1. 希尔排序的基本思想是什么? {{ select(26) }}
  • 将数组分成若干个子序列,对每个子序列进行插入排序
  • 将数组分成若干个子序列,对每个子序列进行选择排序
  • 将数组分成若干个子序列,对每个子序列进行冒泡排序
  • 将数组分成若干个子序列,对每个子序列进行快速排序

  1. (多选)有关希尔排序算法叙述正确的是? {{ multiselect(27) }}
  • 最后一次的步长增量一定为1
  • 分割后子序列内部的排序算法是直接插入排序
  • 分割后子序列内部的排序算法是直接选择排序
  • 希尔排序是稳定排序算法