当前位置: 首页 > 所有资源 > 《数据结构(本)》资源 > 电大1252《数据结构(本)》在线形考作业4-阶段性学习测验4答案(课程号:01379+02272)

电大1252《数据结构(本)》在线形考作业4-阶段性学习测验4答案(课程号:01379+02272)

最近更新:2019-06-07
4042

 

1:对线性表进行二分查找时,要求线性表必须()。 A.以链接存储方式 B.以链接存储方式,且数据元素有序 B.以顺序存储方式,且数据元素有序 B.以顺序存储方式 

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

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

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

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

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

7:在所有的排序方法中,关键字比较的次数与记录初始排列秩序无关的是()。 A.直接选择排序 B.希尔排序 B.冒泡排序 B.直接插入排序 

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

9:依次将每两个相邻的有序表合并成一个有序表的排序方法称为()。 A.选择排序 B.交换排序 B.插入排序 B.归并排序 

10:当两个元素出现逆序的时候就交换位置,这种排序方法称为()。 A.交换排序 B.选择排序 B.归并排序 B.插入排序 

11:每次把待排序的区间划分为左、右两个子区间,其中左区间中记录的关键字均小于等于基准记录的关键字,右区间中记录的关键字均大于等于基准记录的关键字,这种排序称为()。 A.归并排序 B.快速排序 B.插入排序 B.堆排序 

12:一组记录的关键字序列为(46,20,30,79,56,38,40,84,90,110),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为()。 A.20,30,40,38,46,79,56,84,90,100 B.30,20,40,38,46,84,56,79,90,100 B.40,20,30,38,46,56,79,84,90,110 B.20,3038,40,46,56,79,84,90,100 

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

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

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

16:一组记录的关键字序列为(26,59,36,18,20,25),利用堆排序的方法建立的初始小根堆为()。 A.18,20,36,59,26,25 B.18,20,25,59,26,36 B.26,18,59,20,36,25 B.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 B.16,25,48,35,79,82,23,36,40,72 B.16,25,35,48,79,23,36,40,82,72 

18:已知10个数据元素为(54,28,16,34,73,62,95,60,26,43),对该数列从小到大排序,经过一趟冒泡排序后的序列为()。 A.28,16,34,54,62,73,60,26,43,95 B.16,28,34,54,73,62,60,26,43,95 B.16,28,34,54,62,60,73,26,43,95 B.28,16,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 B.40,38,46,84,56,79 B.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 B.39,80,46,47,41,57 B.41,39,46,47,57,80 

21:()以下函数是二叉排序树的查找算法,若二叉树为空,则返回根结点的指针,否则,返回值是指向树结点的结构指针p(查找成功p指向查到的树结点,不成功p指向为NULL)完成程序中的空格 

typedef 

struct 

Bnode 

int 

key; 

struct 

Bnode*left; 

struct 

Bnode*right; 

}Bnode; 

Bnode*BSearch(Bnode 

*bt,intk) 

/*bt用于接收二叉排序树的根结点的指针,k用以接收要查找的关键字*/ 

Bnode*p; 

if(bt==[[2]]) 

return(bt); 

p=bt; 

while(p->key!=[[5]]) 

if(kkey) 

[[1]]; 

else[[3]]; 

if(p==NULL)break; 

return([[4]]; 

}  B.[[1]]->{p=p->left/NULL/p=p->right/p/k} 

22:()以下程序是折半插入排序的算法 

设待排序的记录序列存放在a[1],…a[n]中,以a[0]作为辅助工作单元,程序是要把a<i>插入到已经有序的序列a[1],…a[i-1]中。 

voidbinsort(NODEa[],intn) 

intx,i,j,s,k,m; 

for(i=2;i&lt;=[[4]];i++)

a[0]=a<i>; 

x=a<i>.key; 

s=1; 

j=i-1; 

while(s&lt;=j) 

m=[[1]] 

if(x&lt;a[m].key)()[[2]]()else()[[5]]()}()for(k=i-1;k&gt;=j+1;k--) 

[[3]]=a[k]; 

a[j+1]=a[0]; 

} B.[[1]]-&gt;{(s+j)/2/j=m-1/a[k+1]/n/s=m+1} 

23: 

(1)设查找表为(1,10,11,14,23,27,29,55,68),画出对上述查找表进行折半查找所对应的判定树,为了成功查找到元素14,需要依次与元素{A;B;C;D}进行比较。 

A.23,10,1,14()B.23,29,27,14()C.23,10,11,14()D.23,29,55,14 

(2)在等概率条件下,成功查找的平均比较次数为{A;B;C;D}。 

A.24/9()B.25/9()C.3()D.2.5 

24: 

(1)一组记录的关键字序列为(47,80,57,39,41,46),利用堆排序的方法建立的初始堆为{A;B;C;D}(堆顶元素是最小元素,采用树的形式建堆)。 

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)输出堆顶元素后,调整后的堆为{A;B;C;D}。 

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;B;C;D}; 

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)归并的结果序列为{A;B;C;D}。.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)对关键字序列(36,69,46,28,30,74)采用快速排序,以第一个关键字为分割元素,经过一次划分后的结果序列为{A;B;C;D} 

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;B;C;D}。 

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;B;C;D}; 

A.354065453595 

B.354065434595 

C.354043456595 

D.354045436595 

(2)对上述序列利用直接插入排序,逐次插入过程中,共进行了{A;B;C;D}次元素间的比较。 

A.8()B.11()C.9()D.10 

 

下载附件
下载题库需3积分

重要提示:本站不支持微信或苹果手机充值及下载,为了避免下载出错,请用电脑访问下载资源
《数据结构(本)》其他资源