A、O(logn)
B、O(n)
C、O(nlogn)
D、O(n^2)
第1题:
1、关于冒泡排序算法的基本思想,下列说法正确的是()
A.一个轮次一个轮次的处理。在每一轮次中依次对待排序数组元素中相邻的两个元素进行比较:如不符合排序关系,则交换两个元素,直到某一轮次没有元素交换发生则结束#B.一个元素一个元素的处理。每次处理一个元素,通过与当前已排序元素的比较,将该元素放入到当前正确排序的位置。直到最后一个元素则算法结束#C.一个轮次一个轮次的处理。将元素集合分成两个部分,已排序元素集合和未排序元素集合,开始时已排序元素集合为空。在每一轮次,从未排序元素集合中找出最小值的元素,将其移入已排序元素集合;直到未排序元素集合为空时则算法结束#D.以上三个选项都不正确第2题:
按排序策略分类,起泡排序属于选择排序。对n个元素的序列进行排序时,如果待排序元素序列的初始排列已经全部有序,则起泡排序过程中需进行n-1次元素值的比较,0次元素值的交换。如果待排序元素序列的初始排列完全逆序,则起泡排序过程中需进行n(n-1)/2次元素值的比较,n(n-1)/2次元素的交换。
第3题:
【判断题】冒泡排序和快速排序都是基于交换两个逆序元素的排序方法,冒泡排序算法的最坏时间复杂性是O(n*n),而快速排序算法的最坏时间复杂性是O(nlog2n),所以快速排序比冒泡排序算法效率更高。 ()
A.Y.是
B.N.否
第4题:
设A是含有n个元素的数组,如果元素x在A出现的次数大于n/2,则称x是A的主元素。 (1)如果A中元素是可以排序的,设计一个O(nlogn)时间的算法,判断A中是否存在主元素。 (2)对于(1)中可排序的数组,能否设计一个O(n)时间的算法? (3)如果A中元素只能进行“是否相等”的测试,但是不能进行排序,设计一个算法判断A中是否存在主元素。
第5题:
2、关于插入排序算法的基本思想,下列说法正确的是()
A.一个轮次一个轮次的处理。在每一轮次中依次对待排序数组元素中相邻的两个元素进行比较:如不符合排序关系,则交换两个元素。直到某一轮次没有元素交换发生则结束#B.一个轮次一个轮次的处理。将元素集合分成两个部分,已排序元素集合和未排序元素集合,开始时已排序元素集合为空。在每一轮次,从未排序元素集合中找出最小值的元素,将其移入已排序元素集合;直到未排序元素集合为空时则算法结束#C.一个元素一个元素的处理。每次处理一个元素,通过与当前已排序元素的比较,将该元素放入到当前正确排序的位置,直到最后一个元素则算法结束#D.其它三个选项都不正确