1、数据结构(本)形成性考核作业(四)分校名称:学 号:姓 名:成 绩:日 期: 数据结构(本)课程作业作业4(本部分作业覆盖教材第8-9章的内容)一、单项选择题1.次序查找措施适合于存储结构为( )的线性表。A散列存储 B索引存储 C散列存储或索引存储 D次序存储或链接存储2对线性表进行二分查找时,要求线性表必须( )。 A以次序存储方式 B以链接存储方式 C以次序存储方式 ,且数据元素有序 D以链接存储方式,且数据元素有序 3假如要求一个线性表既能较快地查找,又能动态适应变化要求,能够采取( )查找措施。A次序 B分块C折半 D散列4. 对于一个线性表,若要求既能进行较快地插入和删除,又要求存
2、储结构能够反应数据元素之间的逻辑关系,则应当( )。 A以次序存储方式 B以链接存储方式 C以索引存储方式 D以散列存储方式5采取次序查找措施查找长度为n的线性表时,每个元素的平均查找长度为( )。An Bn/2 C(n+1)/2 D(n-1)/2 6采取折半查找措施查找长度为n的线性表时,每个元素的平均查找长度为( )。AO(n*n) BO(nlog2n) CO(n) Ds(log2n)7哈希函数有一个共同的性质,即函数值应当以( )取其值域的每个值。A最大约率 B最小概率 C平均概率 D同等概率8有一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为(
3、)。A29/10 B31/10 C26/10 D29/99已知一个有序表为11,22,33,44,55,66,77,88,99,则次序查找元素55需要比较( )次。A3 B4 C5 D610次序查找法与二分查找法对存储结构的要求是( )。A次序查找与二分查找均只是适合用于次序表B次序查找与二分查找均既适合用于次序表,也适合用于链表C次序查找只是适合用于次序表 D二分查找适合用于次序表11有数据53,30,37,12,45,24,96,从空二叉树开始逐一插入数据来形成二叉排序树,若希望高度最小,应当选择的序列是( )。A45,24,53,12,37,96,30 B37,24,12,30,53,4
4、5,96 C12,24,30,37,45,53,96 D30,24,12,37,45,96,5312对有18个元素的有序表作二分(折半)查找,则查找A3的比较序列的下标也许为( )。A1、2、3 B9、5、2、3 C9、5、3 D9、4、2、313. 对于次序存储的有序表5,12,20,26,37,42,46,50,64,若采取折半查找,则查找元素26的比较次数是( )。 A.3 B. 3 C. 4 D.5 14.有关哈希查找的说法正确的是( )。 A.除留余数法是最佳的 B. 哈希函数的好坏要依照详细情况而定 C.删除一个元素后,无论用哪种措施处理冲突,都只需简单地把该元素删除掉 D.因为冲
5、突是不可防止的,因此装填因子越小越好 15.在所有的排序措施中,核心字比较的次数与统计初始排列秩序无关的是( )。 A. 冒泡排序 B. 希尔排序 C. 直接选择排序 D. 直接插入排序 16.从未排序序列中依次取出元素与已经排好序的序列中的元素作比较。将其放入已排序序列的正确的位置上,此措施称为( ) A. 插入排序 B. 选择排序 C. 互换排序 D. 归并排序 17.从未排序序列中挑选元素,并将其放入已排序序列的一端,此措施称为( )。 A. 插入排序 B. 互换排序 C. 选择排序 D. 归并排序 18.依次将每两个相邻的有序表合并成一个有序表的排序措施称为( )。 A. 插入排序 B
6、. 互换排序 C. 选择排序 D. 归并排序 19.当两个元素出现逆序的时候就互换位置,这种排序措施称为( )。 A. 插入排序 B. 互换排序 C. 选择排序 D. 归并排序 20.每次把待排序的区间划分为左、右两个子区间,其中左区间中统计的核心字均小于等于基准统计的核心字,右区间中统计的核心字均不小于等于基准统计的核心字,这种排序称为( )。 A. 插入排序 B. 迅速排序 C. 堆排序 D. 归并排序 21.在正常情况下,直接插入排序的时间复杂度为( )。 A. O(log2n) B. O(n) C. O(n log2n) D. O(n2) 22.在正常情况下,冒泡排序的时间复杂度为(
7、)。 A. O(log2n) B. O(n) C. O(n log2n) D. O(n2) 23.在归并排序中,归并趟数的数量级为( )。 A. O(log2n) B. O(n) C. O(n log2n) D. O(n2) 24.在待排序元素基本有序的情况下,效率最高的排序措施是( )。 A. 插入排序 B. 迅速排序 C. 堆排序 D. 归并排序 25.下面几个排序措施中,要求内存量最大的是( )。A. 插入排序 B. 互换排序 C. 选择排序 D. 归并排序 26.在下列排序措施中,核心字比较的次数与统计的初始排列秩序无关的是( )。 A. 希尔排序 B. 冒泡排序 C. 插入排序 D.
8、 选择排序27.迅速排序措施在( )情况下最不利于发挥其优点。 A. 要排序的数据量太大 B. 要排序的数据中含有多个相同值 C. 要排序的数据已基本有序 D. 要排序的数据个数为奇数 28.下述几个排序措施中,平均情况下占用内存量最大的是( )措施。 A. 插入排序 B. 选择排序 C. 迅速排序 D. 归并排序29.若结构一棵具备n个结点的二叉树排序,在最坏的情况下,其深度不会超出( )。A. n/2 B. n C. (n+1)/2 D. n+1 30.对数据元素序列(49,72,68,13,38,50,97,27)进行排序,前三趟排序成果时的成果依次为第一趟:49,72,68,13,38
9、,50,97,27;第二趟:49,68,72,13,38,50,97,27;第三趟:13,49,68,72,38,50,97,27。该排序采取的措施是( )。A. 插入排序法 B. 选择排序法 C. 冒泡排序法 D.堆积排序法 31.对具备n个元素的任意序列采取插入排序法进行排序,排序趟数为()。A. n-1 B. n C. n+1 D. log2n 32.对序列(49,38,65,97,76,13,47,50)采取直接插入排序法进行排序,要把第七个元素47插入到已排序中,为寻找插入的适宜位置需要进行()次元素间的比较。A. 3 B. 4 C. 5 D. 633.下面四种排序措施中,()是一个
10、稳定性排序措施。 A. 插入排序法 B. 选择排序法 C.迅速排序法 D.希尔排序法34一组统计的核心字序列为(46,79,56,38,40,84),利用迅速排序,以第一个核心字为分割元素,通过一次划分后成果为( )。 A40,38,46,79,56,84 B40,38,46,84,56,79C40,38,46,56,79,84 D38,40,46,56,79,8435一组统计的核心字序列为(46,79,56,38,40,84),利用堆排序的措施建立的初始堆为( )。 A79,46,56,38,40,84 B84,79,56,38,40,46C84,79,56,46, 40,38, D84,5
11、6,79,40,46,38 36一组统计的核心字序列为(25,48,16,35,79,82,23,40,36,72),其中,含有5个长度为2的有序表,按归并排序的措施对该序列进行一趟归并后的成果为( )。 A16,25,35,48,23,40,79,82,36,72 B16,25,35,48,79,82,23,36,40,72C16,25,48,35,79,82,23,36,40,72 D16,25,35,48,79,23,36,40,82,72 37已知10个数据元素为(54,28,16,34,73,62,95,60,26,43),对该数列从小到到大排序,通过一趟冒泡排序后的序列为( )。A
12、16,28,34,54,73,62,60,26,43,95 B28,16,34,54,62,73,60,26,43,95C28,16,34,54,62,60,73,26,43,95D16,28,34,54,62,60,73,26,43,95 38用某种排序的措施对线性表(25,84,21,47,15,27,68,35,20)进行排序时,元素序列的变化情况如下:(1)25,84,21,47,15,27,68,35,20(2)20,15,21,25,47,27,68,35,84 (3)15,20,21,25,35,27,47,68,84 (4)15,20,21,25,27,35,47,68,84
13、其所采取的排序措施是( )。A. 希尔排序 B.归并排序 C.迅速排序 D. 直接选择排序二、填空题1在各种查找措施中,平均查找长度与结点个数n无关的查找措施是 。2假如对查找表只进行查询某个特定的数据元素是否在查找表中,以及查找某个特定数据元素的各种属性两种类型的基本操作,而不进行插入和删除操作数据元素的查找表称为 。3假如在查找表中进行查询的过程中,同时插入查找表中不存在的数据元素,或者从查找表中删除已存在的某个数据元素,则称此类查找表为 。4核心字是统计某个 ,用它能够识别、确定一个 。5在一个查找表中,能够唯一地确定一个统计的核心字称为 。6平均查找长度是指为确定统计在查找表中的位置,
14、需要与给定值进行比较的核心字个数的 。7 查找是一个最简单的查找措施。8折半查找又称为 。使用该查找算法的前提条件是,查找表中统计对应的核心字值必须按 。9折半查找只适合用于 的有序表 。10分块查找又称为 ,它是一个介于 和折半查找之间的查找措施。11二叉排序树或者是一棵空树,或者是具备下列性质的一棵二叉树: (1)若左子数不空,则左子树所有结点的值 。 (2)若右子数不空,则右子树所有结点的值 。 (3)左右子树又分别是 。12哈希表是用来存储查找表中统计序列的表,每一个统计的存储位置是以该统计得到核心字为 ,由对应哈希函数计算所得到的 。 13在有序表A1.18中,采取二分查找算法查找元
15、素值等于A17的元素,所比较过的元素的下标依次是 。14依照排序过程中所用的存储器不一样,能够将排序措施分为 和 。 15冒泡排序是一个比较简单的 措施。16在对一组统计(50,40,95,20,15,70,60,45,80)进行直接插入排序时,当把第7个统计60插入到有序表时,为寻找插入位置需要比较 次。17在归并排序中,在第3趟归并中,是把长度为 的有序表归并为长度为 有序表。18在堆排序和迅速排序中,若原始统计接近正序和反序,则选用 ,若原始统计无序,则最佳选用 。19对统计序列排序是指按统计的某个核心字排序,统计序列按_排序成果是唯一的。20按某核心字对统计序列排序, 若在排序前和排序
16、后仍保持它们的前后关系,则排序算法是稳定的,否则是不稳定的。21n个元素进行冒泡法排序,一般需要进行_趟冒泡,第j趟冒泡要进行_次元素间的比较。 22当从一个小根堆中删除一个元素时,需要把 元素填补到 位置,然后再按条件把它逐层 调整。三、综合题1已知序列(70,83,100,105,10,32,7,9),请写出对此序列采取插入排序法进行升序排序时各趟的成果。2已知序列(10,18,4,3,6,12,1,9,15,8),请写出对此序列采取归并排序法进行升序排序时各趟的成果。3已知序列(17,18,60,40,7,32,73,65,85)请给出采取冒泡排序法对该序列作升序排列时的每一趟成果。4已
17、知序列(503,87,512,61,908,170,897,275,653,462)请给出采取迅速排序法对该序列作升序排列时的每一趟成果。5设一组统计的核心字序列为(51,85,61,43,45,49),采取堆排序算法完成如下操作:(要求小根堆,并画出中间过程)(1)以二叉树描述6个元素的初始堆(2)以二叉树描述逐次取走堆顶元素后,经调整得到的5个元素、4个元素的堆6设查找表为(20,19,24,57,68,11) (1)用冒泡对该表进行排序,要求写出每一趟的排序过程,一般对n个元素进行冒泡排序要进行多少趟冒泡?第j趟要进行多少次元素间的比较? (2)在排序后的有序表的基础上,画出对其进行折半
18、查找所对应的判定树.(要求以数据元素作为树结点)(3)求在等概率条件下,对上述有序表成功查找的平均查找长度。7 (1) 设有查找表8,17,5,9,21,10,7,19,6,依次取表中数据,结构一棵二叉排序树.(2)阐明怎样通过序列的二叉排序树得到对应序列的排序成果,对上述二叉排序给出中序遍历的成果.四、程序填空题1如下直接输入排序算法对存储在a0,a1,an-1中,长度为n的统计序列按核心字key由小到大排序,完成程序中的空格部分。void disort (NODE a , int n) int I,j;NODE temp; /*工作单位*/ for (i=1;in;i+) temp=ai; j=j-1; while (_&temp.keyai+1.key)flag=1; temp=ai; (3) ; (4) ;if(flag= =0)break; 程序中flag的功效是 (5) 五、算法设计题1写出在二叉树中删除一个结点的算法,且使删除后仍为二叉树,设删除的结点由指针p所指,其双亲结点由指针f所指,并假设被删除结点是其双亲结点的右孩子。2编写次序查找算法。 六、完成:试验5查找 试验6排序依照试验要求(见教材P203)仔细完成本试验,并提交试验报告。