如果题目顺序不一样请用CTRL+F来搜索试题

确定好题一样,再下载

点击支付下载即可看见答案

数据结构(本) · 形考作业4

 

一、单项选择题

1.对线性表进行二分查找时,要求线性表必须(   )。

单选题

A.以顺序存储方式
B.以链接存储方式
C.以顺序存储方式,且数据元素有序
D.以链接存储方式,且数据元素有序

2.采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为(   )。

单选题

A.n
B.n/2
C.(n+1)/2
D.(n-1)/2

3.有一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为(   )。

单选题

A.29/10
B.31/10
C.26/10
D.29/9

4.已知一个有序表为{11,22,33,44,55,66,77,88,99},则顺序查找元素55需要比较(   )次。

单选题

A.3
B.4
C.5
D.6

5.有数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉排序树,若希望高度最小,应该选择的序列是(   )。

单选题

A.45,24,53,12,37,96,30
B.37,24,12,30,53,45,96
C.12,24,30,37,45,53,96
D.30,24,12,37,45,96,53

6.对于顺序存储的有序表{5,12,20,26,37,42,46,50,64},若采用折半查找,则查找元素26的比较次数是(   )。

单选题

A.3
B.6
C.4
D.5

7.在所有的排序方法中,关键字比较的次数与记录初始排列秩序无关的是(   )。

单选题

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

8.从未排序序列中依次取出元素与已经排好序的序列中的元素作比较。将其放入已排序序列的正确的位置上,此方法称为(   )。

单选题

A.插入排序
B.选择排序
C.交换排序
D.归并排序

9.依次将每两个相邻的有序表合并成一个有序表的排序方法称为(   )。

单选题

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),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为(  )。

单选题

A.40,20,30,38,46,56,79,84,90,110
B.20,30,40,38,46,79,56,84,90,100
C.30,20,40,38,46,84,56,79,90,100
D.20,30 38,40,46,56,79,84,90,100

13.在有序表{10,14,34,43,47,64,75,80,90}中,用折半查找法查找值80时,经(     )次比较后查找成功。

单选题

A.4
B.2
C.3
D.5

14.对序列(49,38,65,97,76,13,47,50)采用直接插入排序法进行排序,要把第七个元素47插入到已排序中,为寻找插入的合适位置需要进行(   )次元素间的比较。

单选题

A.3
B.4
C.5
D.6

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

单选题

A.归并
B.插入
C.选择
D.快速

16.一组记录的关键字序列为(26,59,36,18,20,25),利用堆排序的方法建立的初始小根堆为(   )。

单选题

A.26,18,59,20,36,25
B.18,20,25,59,26,36
C.18,20,36,59,26,25
D.26,59,36,18,20,25

17.一组记录的关键字序列为(25,48,16,35,79,82,23,40,36,72),其中,含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为(   )。

单选题

A.16,25,35,48,23,40,79,82,36,72
B.16,25,35,48,79,82,23,36,40,72
C.16,25,48,35,79,82,23,36,40,72
D.16,25,35,48,79,23,36,40,82,72

18.已知10个数据元素为(54,28,16,34,73,62,95,60,26,43),对该数列从小到大排序,经过一趟冒泡排序后的序列为(   )。

单选题

A.16,28,34,54,73,62,60,26,43,95
B.28,16,34,54,62,73,60,26,43,95
C.28,16,34,54,62,60,73,26,43,95
D.16,28,34,54,62,60,73,26,43,95

19.一组记录的关键字序列为(46,79,56,38,40,84),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为(   )。

单选题

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

20.一组记录的关键字序列为(80,57,41,39,46,47),利用堆排序(堆顶元素是最小元素)的方法建立的初始堆为(      )。

单选题

A.39,46,41,57,80,47
B.39,47,46,80,41,57
C.41,39,46,47,57,80
D.39,80,46,47,41,57

二、程序填空题

 

21.以下函数是二叉排序树的查找算法,若二叉树为空,则返回根结点的指针,否则,返回值是指向树结点的结构指针p(查找成功p指向查到的树结点,不成功p指向为NULL)完成程序中的空格
typedef  struct  Bnode
{   int  key;
struct   Bnode *left;
struct   Bnode *right;
} Bnode;
Bnode *BSearch(Bnode  *bt, int k)
/* bt用于接收二叉排序树的根结点的指针,k用以接收要查找的关键字*/
{   Bnode *p;
if(bt== __(1)__)
return (bt);
p=bt;
while(p->key!= __(2)__)
{  if(k<p->key)
__(3)__;
else __(4)__;
if(p==NULL) break;
}
return(__(5)__;
}

匹配题

提示 答案 答案池
选项1   p=p->left
选项2   p
选项3   k
选项4   p=p->right
选项5   NULL

 

 

 

 

22.以下程序是折半插入排序的算法
设待排序的记录序列存放在a[1],…a[n]中,以a[0]作为辅助工作单元,程序是要把a[i] 插入到已经有序的序列a[1],…a[i-1]中。
void binsort (NODE a[ ],int n)
{   int x,i,j,s,k,m;
for (i=2;i<=__(1)__;i++)
{  a[0]=a[i];
x= a[i].key;
s=1;
j=i-1;
while (s<=j)
{  m=__(2)__
if( x<a[m].key)
__(3)__
else
__(4)__
}
for ( k=i-1;k>=j+1;k- -)
__(5)__=a[k];
a[j+1]=a[0];
}
}

匹配题

提示 答案 答案池
选项1    a[k+1]
选项2   n
选项3   (s+j)/2
选项4    j=m-1
选项5   s=m+1

 

 

 

 

三、综合题

23.(1)设查找表为(1,10,11,14,23,27,29,55,68) ,画出对上述查找表进行折半查找所对应的判定树,为了成功查找到元素14,需要依次与元素   1    进行比较。
A. 23,10,1,14       B.23,29,27,14      C. 23,10,11,14     D.23,29,55,14
(2)在等概率条件下,成功查找的平均比较次数为   2    。
A.24/9            B. 25 /9           C.3              D.2.5
完形填空题

(1)

A.A
B.B
C.C
D.D

(2)

A.A
B.B
C.C
D.D

24.(1)一组记录的关键字序列为(47,80,57,39,41,46),利用堆排序的方法建立的初始堆为   1    (堆顶元素是最小元素,采用树的形式建堆)。
A. 39,41,57,80,47,46        B.39,41,46,80,47,57
C. 39,47,46,80,41,57        D.39,41,57,80,46,47
(2)输出堆顶元素后,调整后的堆为   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

完形填空题

(1)

A.A
B.B
C.C
D.D

(2)

A.A
B.B
C.C
D.D

25.(1)对关键字序列(56,51,71,54,46,106),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为   1    ;
A. 46,51,56,54,71,106              B. 56,51,54,46,71,106
C. 46,51,54,56,71,106               D. 56,51,46,54,71,106
(2)一组记录的关键字序列为( 60,47,80,57, 39,41,46,30),利用归并排序的方法,经过(2,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  )

完形填空题

(1)

A.A
B.B
C.C
D.D

(2)

A.A
B.B
C.C
D.D

26.(1)对关键字序列(36,69,46,28,30,74)采用快速排序,以第一个关键字为分割元素,经过一次划分后的结果序列为   1
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)用冒泡法对上述序列排序,经两趟冒泡的结果序列为   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

完形填空题

(1)

A.A
B.B
C.C
D.D

(2)

A.A
B.B
C.C
D.D

27.(1)一组记录的关键字序列为{45,40,65,43,35,95}写出利用快速排序的方法,以第一个记录为基准得到的一趟划分的结果为   1    ;
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)对上述序列 利用直接插入排序,逐次插入过程中,共进行了   2    次元素间的比较。
A. 8     B. 11     C.9     D.10

完形填空题

(1)

A.A
B.B
C.C
D.D

(2)

A.A
B.B
C.C
D.D

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源