第八章排序作业 联系客服

发布时间 : 星期日 文章第八章排序作业更新完毕开始阅读502845f87e1cfad6195f312b3169a4517723e59e

典型习题

一、填空题

1.大多数排序算法都有两个基本的操作: 和 。

2.在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置至少需比较 次。

3.在插入和选择排序中,若初始数据基本正序,则选用 ;若初始数据基本反序,则选用 。 4.在堆排序和快速排序中,若初始记录接近正序或反序,则选用 ;若初始记录基本无序,则最好选用 。

5.对于n个记录的集合进行冒泡排序,在最坏的情况下所需要的时间是 。若对其进行快速排序,在最坏的情况下所需要的时间是 。

6.内部排序依排序方式可分为_____、 和_______。

7.对n个元素的序列进行冒泡排序时,最少的比较次数是 最多的比较次数 。

8.一组记录元素的关键码为{75,84,26,33,92,15},则利用快速排序的方法,以第一个记录为枢纽值得到的一次划分结果是:

9.设表中元素的初态是按键值递增的,若分别用堆排序、快速排序、冒泡排序和归并排序方法对其仍按递增排序进行排序,则_____最省时间,_________最费时间。

10.从一个无序序列建立一个堆的方法;首先将要排序的所有键值分放到一棵________的各个结点中,然后从i=________的结点ki开始,逐步把以Ki-1、、Ki-2、、。。。、K1为根的子树排成堆,直到以K1为根的树排成堆,就完成了建堆的过程。

11.对n个元素进行初始建堆的过程中,最多进行_______数据比较。

12.______方法是对序列中的元素通过适当的位置交换将有关元素一次性地放置在其最终位置上。 13.对n个记录的表r[1..n]进行简单选择排序,所需进行的关键字间的比较次数为( )

二、单项选择题

1. 排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为( )

A. 希尔排序 B. 冒泡排序 C. 插入排序 D. 选择排序

2.从未排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)的一端的方法,称为( )

A. 希尔排序 B. 归并排序 C. 插入排序 D. 选择排序 3.对n个不同的排序码进行冒泡排序,在下列哪种情况下比较的次数最多。( )

A. 从小到大排列好的 B. 从大到小排列好的 C. 元素无序 D. 元素基本有序 4.对n个不同的排序码进行冒泡排序,在元素无序的情况下比较的次数为( )

A. n+1 B. n C. n-1 D. n(n-1)/2 5.快速排序在下列哪种情况下最易发挥其长处。( )

A. 被排序的数据中含有多个相同排序码 B. 被排序的数据已基本有序

C. 被排序的数据完全无序 D. 被排序的数据中的最大值和最小值相差悬殊 6.若一组记录的排序码为(46, 79, 56, 38, 40, 84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为( )

A. 38, 40, 46, 56, 79, 84 B. 40, 38, 46 , 79, 56, 84 C. 40, 38,46, 56, 79, 84 D. 40, 38, 46, 84, 56, 79 7.下列关键字序列中, 是堆。( )

A. 16, 72, 31, 23, 94, 53 B. 94, 23, 31, 72, 16, 53 C. 16, 53, 23, 94,31, 72 D. 16, 23, 53, 31, 94, 72 8.堆是一种( )排序。

A. 插入 B.选择 C. 交换 D. 归并 9.堆的形状是一棵 ( )

A. 二叉排序树 B.满二叉树 C. 完全二叉树 D. 平衡二叉树

10.若一组记录的排序码为(46, 79, 56, 38, 40, 84),则利用堆排序的方法建立的初始堆为( )

A. 79, 46, 56, 38, 40, 84 B. 84, 79, 56, 38, 40, 46 C. 84, 79, 56, 46, 40, 38 D. 84, 56, 79, 40, 46, 38

11.如果只想得到1024个元素序列中第5个最小元素之前的部分排序的序列,用()方法最快。

A.起泡排序 B.快速排序 C.简单选择排序 D.堆排序

12.如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。()就是不稳定的排序方法。

A.插入排序 B.快速排序 C.选择排序 D.合并排序

13.下列排序方法中,哪一种方法的比较次数与记录的初始排列状态无关?()

A.插入排序 B.冒泡排序 C.快速排序 D.选择排序

14.下列排序算法中,第一趟排序完毕后,其最大或最小元素一定在其最终位置上的算法是( )。 A. 堆排序 B. 快速排序 C. 选择排序 D. 谢耳排序

15.若对n个元素进行直接插入排序,则进行第I趟排序过程前,有序表中的元素个数为( ) (A)i (B)I+1 (C)I-1 (D)1

16.在对n个元素进行直接选择排序过程中,第I趟需从( )个元素中选择出最小值元素. (A)n-I+1 (B)n-I (C)I (D)I+1

17.若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()

A. 快速排序 B. 堆排序 C. 归并排序 D. 直接插入排序

18.在下列算法中,()算法可能出现下列情况:在最后一趟开始之前,所有的元素都不在其最终的位置上。 A 堆排序 B 冒泡排序 C 插入排序 D 快速排序

19.对给出的一组关键字{14,5,19,20,11,19}。若按关键字非递减排序,第一趟排序结果为{14,5,19,20,11,19},问采用的排序算法是()

A 简单选择排序 B 快速排序 C 希尔排序 D 二路归并排序

三、简答题

1.判别序列(12,70,33,65,24,56,48,92,86,33)是否为堆,如果不是,则把它调整为堆

2.给出一组关键字29,18,25,47,58,12,51,10,分别写出按下列各种排序方法进行排序时每一趟变化的过程:

1) 冒泡排序快速排序 2) 堆排序

3) 快速排序 4) 简单排序 5) 希尔排序