1、数据结构(C语言版)习题及答案第九章数据结构(C语言版)习题及答案 习 题 一、选择题 1、一组记录的排序码为(46,79,56,38,40,84),则利用堆排序的方法建立的初始 堆为( B )。 A、79,46,56,38,40,80 B、84,79,56,38,40,46 C、84,79,56,46,40,38 D、84,56,79,40,46,38 2、排序趟数与序列原始状态(原始排列)有关的排序方法是( ACD )方法。 A、插入排序 B、选择排序 C、冒泡排序 D、快速排序 3 、下列排序方法中,( B )是稳定的排序方法。 A、直接选择排序 B、二分法插入排序 C、希尔排序 D、快
2、速排序 4、数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中( C )的两趟 排序后的结果。 A、选择排序 B、冒泡排序 C、插入排序 D、堆排序 5、对序列(15,9,7,8,20,-1,4)进行排序,进行一趟排序后,数据的排列变为(4, 9,-1,8,20,7,15),则采用的是( C )排序。 A、选择 B、快速 C、希尔 D、冒泡 6 、一组待排序记录的关键字为(46,79,56,38,40,84),则利用快速排序,以第 一个记录为基准元素得到的一次划分结果为( C )。 A、(38,40,46,56,79,84) B、(40,38,46,79,56,84) C、
3、(40,38,46,56,79,84) D、(40,38,46,84,56,79) 7、用直接插入排序对下面四个序列进行排序(由小到大),元素比较次数最少的是 ( C )。 A、94,32,40,90,80,46,21,69 B、32,40,21,46,69,94,90,80 C、21,32,46,40,80,69,90,94 D、90,69,80,46,21,32,94,40 8、若用冒泡排序对关键字序列(18,16,14,12,10,8)进行从小到大的排序,所需进行 的关键字比较总次数是( B )。 A、10 B、15 C、21 D、34 9、就排序算法所用的辅助空间而言,堆排序、快速排序
4、和归并排序的关系( A )。 A、堆排序 快速排序 归并排序 B、堆排序 归并排序 快速排序 C、堆排序 归并排序 快速排序 D、堆排序 快速排序 归并排序 E、以上答案都不对 10、采用败者树进行k路平衡归并的外部排序算法,其总的归并效率与k( )。 A、有关 B、无关 9.2 填空题 1、在直接插入排序和直接选择排序中,若初始数据基本有序,则选用(直接插入排序), 若初始数据基本反序,则选用(直接选择排序)。 2、在归并排序中,若待排序记录的个数为20,则共需要进行(5)趟归并,在第三趟 归并中,是把长度为(4)的有序表归并为长度为(8)的有序表。 3、在内排序中,平均比较次数最多的是(快速排序),要求附加的内存空间最大的是(归 并排序),排序时不稳定的有(希尔排序)、(选择排序)、(快速排序)和(堆排序)等几种 方法。 4、对n个元素的序列进行冒泡排序,最少的比较次数是(n-1),此时元素的排列情况 2 / 2