![](https://static.youtibao.com/asksite/comm/h5/images/m_q_title.png)
下列内部排序算法中在初始序列已基本有序(除去n个元素中的某k个元素后即呈有序,k<<n)的情况下,排
下列内部排序算法中在初始序列已基本有序(除去n个元素中的某k个元素后即呈有序,k<<n)的情况下,排序效率最高的算法是()。
A.冒泡排序
B.堆排序
C.直接插入排序
D.二路归并排序
![](https://static.youtibao.com/asksite/comm/h5/images/solist_ts.png)
下列内部排序算法中在初始序列已基本有序(除去n个元素中的某k个元素后即呈有序,k<<n)的情况下,排序效率最高的算法是()。
A.冒泡排序
B.堆排序
C.直接插入排序
D.二路归并排序
某个应用中,需要对输入数据进行排序,输入数据序列基本有序(如输入为1,2,5,3,4,6,8,7)。在这种情况下,采用()排序算法最好,时间复杂度为()。
A.插入 B.归并 C.堆 D.快速 A.O(n) B. O(nlgn) C.O(n^2) D. O(n^2lgn)
(1)这种排序方法结束的条件是什么?
(2)写出奇偶交换排序的算法。
(3)当待排序排序码序列的初始排列是从小到大有序,或从大到小有序时,在奇偶交换排序过程中的排序码比较次数是多少?
A、锦标赛排序
B、快速排序
C、基数排序
D、归并排序
A.冒泡排序算法
B.选择排序算法
C.插入排序算法
D.快速排序算法
排序
实验目的:
(1)熟练掌握在顺序表上实现排序的各种方法。
(2)深刻理解各种排序方法的特点,并能灵活运用。
(3)掌握和理解本实验中出现的一些基本的C语言语句。
(4)体会算法在程序设计中的重要性。
实验内容:
编写一个排序菜单程序,在其中调用不同的排序算法,实现对任意无序序列的递增排序操作。在主程序中输入初始序列,分别调用直接插入排序、冒泡排序、直接选择排序、快速排序等排序算法,输出排序后的结果。题目要求:在所有的排序算法中,待排序数据均从数组的0单元放起。
经全部有序,则起泡排序过程中需进行(②)次元素值的比较,(③)次元素值的交换。如果待排序元素序列的初始排列完全逆序,则起泡排序过程中需进行(④)次元素值的比较,(⑤)次元素的交换。(1)供选择的答案:A、插入排序;B、选择排序;C、交换排序;D、分配排序;E、归并排序.
下列内部排序算法中,其比较次数(交换次数)与序列初态无关的算法是()。
A.快速排序
B.直接插入排序
C.二路归并排序
D.冒泡排序
快速排序算法在()情况下最不利于发挥其长处。
A.要排序的数据量太大
B.要排序的数据中含有多个相同值
C.要排序的数据个数为奇数
D.要排序的数据已基本有序