《2022年数据结构形考作业 2》由会员分享,可在线阅读,更多相关《2022年数据结构形考作业 2(6页珍藏版)》请在金锄头文库上搜索。
1、数据结构(本)形考作业4 一、单项选择题(每小题2 分,共 40 分)题目 1 对线性表进行二分查找时,要求线性表必须()。 A.以顺序存储方式 B. 以顺序存储方式,且数据元素有序 C.以链接存储方式,且数据元素有序 D.以链接存储方式题目 2 采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为()。A. (n+1)/2 B. n C. n/2 D. (n-1)/2 题目 3 有一个长度为10 的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为()。A. 31/10 B. 29/10 C. 26/10 D. 29/9 题目 4 已知一个有序表为11,22
2、,33,44,55,66,77,88,99, 则顺序查找元素55 需要比较() 次。A. 3 B. 6 C. 5 D. 4 题目 5 有数据 53,30,37,12,45,24,96,从空二叉树开始逐个插入数据来形成二叉排序树,若希望高度最小,应该选择的序列是()。A. 45,24,53,12,37,96,30 B. 12,24,30,37,45,53,96 C. 37,24,12,30,53,45,96 D. 30,24,12,37,45,96,53 题目 6 对于顺序存储的有序表5,12,20,26,37,42,46,50,64,若采用折半查找,则查找元素26的比较次数是()。A. 6 B
3、. 3 C. 4 D. 5 题目 7 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 在所有的排序方法中,关键字比较的次数与记录初始排列秩序无关的是()。A. 直接插入排序B. 直接选择排序C. 冒泡排序D. 希尔排序题目 8 从未排序序列中依次取出元素与已经排好序的序列中的元素作比较。将其放入已排序序列的正确的位置上,此方法称为()。A. 选择排序B. 交换排序C. 插入排序D. 归并排序题目 9 依次将每两个相邻的有序表合并
4、成一个有序表的排序方法称为()。A. 交换排序B. 插入排序C. 归并排序D. 选择排序题目 10 当两个元素出现逆序的时候就交换位置,这种排序方法称为()。A. 交换排序B. 插入排序C. 选择排序D. 归并排序题目 11 每次把待排序的区间划分为左、右两个子区间, 其中左区间中记录的关键字均小于等于基准记录的关键字, 右区间中记录的关键字均大于等于基准记录的关键字,这种排序称为 () 。A. 归并排序B. 堆排序C. 插入排序D. 快速排序题目 12 一组记录的关键字序列为(46,20,30,79,56,38,40,84,90,110 ),利用快速排序,以第一个关键字为分割元素,经过一次划
5、分后结果为()。A. 20,30,40,38,46,79,56,84,90,100 B. 30,20,40,38,46,84,56,79,90,100 C. 20,30 38,40,46,56,79,84,90,100 D. 40 , 20,30,38 ,46,56,79,84,90,110 题目 13 在有序表 10,14 ,34,43,47,64,75,80,90 中,用折半查找法查找值80 时,经()次比较后查找成功。A. 5 B. 2 C. 3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -
6、 - - - 第 2 页,共 6 页 - - - - - - - - - D. 4 题目 14 对序列( 49,38,65,97,76,13,47,50)采用直接插入排序法进行排序,要把第七个元素 47 插入到已排序中,为寻找插入的合适位置需要进行()次元素间的比较。A. 5 B. 6 C. 3 D. 4 题目 15 排序方法中,从未排序序列中挑选元素,并将其依次放入已排序序列(初始为空)的一端的方法,称为()排序。A. 选择B. 插入C. 快速D. 归并题目 16 一组记录的关键字序列为(26,59,36,18,20,25),利用堆排序的方法建立的初始小根堆为()。A. 26 , 59,36
7、,18, 20,25 B. 26 , 18,59,20, 36,25 C. 18 , 20,36,59, 26,25 D. 18 , 20,25,59, 26,36 题目 17 一组记录的关键字序列为(25, 48,16,35, 79,82,23, 40,36,72),其中,含有5个长度为2 的有序表,按归并排序的方法对该序列进行一趟归并后的结果为()。A. 16 , 25,48,35, 79,82,23,36,40,72 B. 16 , 25,35,48, 23,40,79,82,36,72 C. 16 , 25,35,48, 79,23,36,40,82,72 D. 16 , 25,35,
8、48, 79,82,23,36,40,72 题目 18 已知 10 个数据元素为(54,28,16,34, 73,62,95,60,26,43),对该数列从小到大排序,经过一趟冒泡排序后的序列为()。A. 16 , 28,34,54, 62,60,73,26,43,95 B. 28 , 16,34,54, 62,73,60,26,43,95 C. 16 , 28,34,54, 73,62,60,26,43,95 D. 28 , 16,34,54, 62,60,73,26,43,95 题目 19 一组记录的关键字序列为(46,79,56,38,40,84),利用快速排序,以第一个关键字为分割元素
9、,经过一次划分后结果为()。A. 40 , 38,46,79, 56,84 B. 38 , 40,46,56, 79,84 C. 40 , 38,46,56, 79,84 D. 40 , 38,46,84, 56,79 题目 20 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - 一组记录的关键字序列为(80,57,41,39,46,47),利用堆排序(堆顶元素是最小元素)的方法建立的初始堆为()。A. 39 , 80,46,47
10、, 41,57 B. 39 , 47,46,80, 41,57 C. 41 , 39,46,47, 57,80 D. 39 , 46,41,57, 80,47 二、程序填空题(每题10 分,2 题,共 20 分。请点击正确选项,然后拖拽至相应的方框上)题目 21 以下函数是二叉排序树的查找算法,若二叉树为空,则返回根结点的指针,否则, 返回值是指向树结点的结构指针p(查找成功p 指向查到的树结点,不成功 p 指向为 NULL )完成程序中的空格typedef struct Bnode int key; struct Bnode *left; struct Bnode *right; Bnode
11、; Bnode *BSearch(Bnode *bt, int k) /* bt用于接收二叉排序树的根结点的指针,k 用以接收要查找的关键字*/ Bnode *p; if(bt=NULL ) return (bt); p=bt; while(p-key!=k) if(kkey) p=p-left; else p=p-right; if(p=NULL) break; return(p; 题目 22 以下程序是折半插入排序的算法设待排序的记录序列存放在a1,an 中, 以 a0 作为辅助工作单元, 程序是要把ai 插入到已经有序的序列a1,ai-1中。 void binsort (NODE a ,
12、int n) int x,i,j,s,k,m; for (i=2 ;i= n;i+ ) a0=ai; x= ai.key; s=1; j=i-1; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - while (s=j) m=(s+j)/2 if( x=j+1;k- -) ak+1 =ak; aj+1=a0; 三、综合题(每小题8 分,共 40 分)题目 23 (1)设查找表为 (1,10,11,14,23,27,29,55,68
13、) ,画出对上述查找表进行折半查找所对应的判定树,为了成功查找到元素14, 需要依次与元素回答进行比较。A.23,10,1,14 B.23,29,27,14 C.23,10,11,14 D.23,29,55,14 (2)在等概率条件下,成功查找的平均比较次数为回答。A.24/9 B.25/9 C.3 D.2.5 题目 24 (1)一组记录的关键字序列为(47,80, 57,39,41,46),利用堆排序的方法建立的初始堆为回答(堆顶元素是最小元素, 采用树的形式建堆)。A.39,41,57,80,47,46 B.39,41,46,80,47,57 C.39,47,46,80,41,57 D.3
14、9,41,57,80,46,47 (2)输出堆顶元素后, 调整后的堆为回答。A.41,47,46,80,57 B.41,57,46,80,47 C.41,57,80,47,46 D.41,80,46,47,57 题目 25 (1)对关键字序列 (56,51,71,54,46,106),利用快速排序, 以第一个关键字为分割元素,经过一次划分后结果为回答;A. 46,51,56,54,71,106 B. 56,51,54,46,71,106 C. 46,51,54,56,71,106 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
15、名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - D. 56,51,46,54,71,106 (2)一组记录的关键字序列为( 60,47 , 80,57, 39 ,41,46,30 ),利用归并排序的方法, 经过 (2,2) 归并的结果序列为回答。. A.(30, 57, 60, 80,47,39,41,46 ) B.(47, 60, 57, 80, 30,39,41,46 ) C.(41, 57, 60, 80, 30,39,47,46 ) D.(47, 57, 60, 80, 30,39,41,46 ) 题目 26 (1)对关键字序列 (
16、36,69,46,28,30,74)采用快速排序, 以第一个关键字为分割元素,经过一次划分后的结果序列为回答A.30 ,28,46,36,69,74 B.28 ,30,36,46,69,74 C.28,30,46,36,69,74 D.30,28,36,46,69,74 (2)用冒泡法对上述序列排序,经两趟冒泡的结果序列为回答。A. 36,28,30,46,69,74 B. 36,46,28,20,69,74 C. 38,36,30,46,69,74 D.28,36,30,46,69,74 题目 27 (1)一组记录的关键字序列为45 ,40,65,43, 35,95 写出利用快速排序的方法,以第一个记录为基准得到的一趟划分的结果为回答;A. 35 40 65 45 35 95 B. 35 40 65 43 45 95 C. 35 40 43 45 65 95 D. 35 40 45 43 65 95 (2)对上述序列利用直接插入排序,逐次插入过程中,共进行了回答次元素间的比较。A.8 B.11 C.9 D.10 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -