数据结构期末综合练习.docx

上传人:b****2 文档编号:1627032 上传时间:2022-10-23 格式:DOCX 页数:40 大小:204.46KB
下载 相关 举报
数据结构期末综合练习.docx_第1页
第1页 / 共40页
数据结构期末综合练习.docx_第2页
第2页 / 共40页
数据结构期末综合练习.docx_第3页
第3页 / 共40页
数据结构期末综合练习.docx_第4页
第4页 / 共40页
数据结构期末综合练习.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

数据结构期末综合练习.docx

《数据结构期末综合练习.docx》由会员分享,可在线阅读,更多相关《数据结构期末综合练习.docx(40页珍藏版)》请在冰豆网上搜索。

数据结构期末综合练习.docx

数据结构期末综合练习

数据结构(本)期末综合练习

综合练习一

一、单项选择题

1.设有头指针为head的带有头结点的非空单向循环链表,指针p指向其尾结点,要删除头结点,并使其仍为单向循环链表,则可利用下述语句head=head->next;()。

A.p=head;B.p=NULL;C.p->next=head;D.head=p;

2.在一个单链表中p指向结点a,q指向结点a的直接后继结点b,要删除结点b,可执行()。

A.p->next=q->next;B.p=q->next;

C.p->next=q;D.p->next=q;

3.以下说法不正确的是

A.线性表的链式存储结构不必占用连续的存储空间

B.一种逻辑结构只能有唯一的存储结构

C.一种逻辑结构可以有不同的存储结构

D.线性表的顺序存储结构必须占用连续的存储空间

4.在一个单向链表中,在p所指结点之后插入一个s所指的结点时,可执行();和p->next=s;

A.p=s;B.p->next=s->next;

C.p=s->next;D.s->next=p->next;

5.把数据存储到计算机中,并具体体现()称为物理结构。

A.数据元素间的逻辑关系

B.数据的处理方法

C.数据的性质

D.数据的运算

6.设有一个长度为23的顺序表,要删除第8个元素需移动元素的个数为()。

A.16B.14C.15D.13

7.链表所具备的特点之一是()。

A.可以随机访问任一结点B.需要占用连续的存储空间

C.插入元素的操作不需要移动元素D.删除元素的操作需要移动元素

8.设一棵有8个叶结点的二叉树,度数为1的结点有3个,则该树共有()

个结点。

A.20B.18C.17D.16

9.图状结构中数据元素的位置之间存在()的关系。

A.一对一B.多对多

C.一对多D.每一个元素都有一个直接前驱和一个直接后继

10.一棵具有5层的完全二叉树,最后一层有4个结点,则该树总共有()个结点。

A.14B.15C.19D.18

11.元素15,9,11,13按顺序依次进栈,则该栈的不可能输出序列是()

(进栈出栈可以交替进行)。

A.13,11,9,15B.15,9,11,13

C.13,11,15,9D.9,15,13,11

12.设主串为“FABcCDABcdEFaBc”,以下模式串能与主串成功匹配的是()。

A.EFaBcB.ABCdE

C.DABCCD.FAbcC

13.设有一个14阶的对称矩阵A(第一个元素为a1,1),采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a4,3在一维数组B中的下标是()。

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

14.元素111,113,115,117按顺序依次进栈,则该栈的不可能输出序列是()(进栈出栈可以交替进行)。

A.117,115,113,111B.111,113,115,117

C.113,111,117,115D.117,115,111,113

15.在一棵二叉树中,若编号为8的结点存在右孩子,则右孩子的顺序编号为()。

A.18B.16C.15D.17

16.以下说法不正确的是()。

A.栈和队列都是线性结构B.栈的特点是后进先出

C.栈和队列的特点都是先进后出D.队列的特点是先进先出

17.设一棵哈夫曼树共有14个非叶结点,则该树总共有()个结点。

A.29C.30D.28

18.设有一个15阶的对称矩阵A(第一个元素为a1,1),采用压缩存储的方式,将其下三

角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a4,2

在一维数组B中的下标是()。

A.9B.8C.7D.10

19.如图1所示的一个图,若从顶点a出发,按深度优先搜索法进行遍历,则可能得

到的一种顶点序列为()。

A.abecdfB.acfebdC.aebcfdD.aedbfc

 

20.如图2所示的一个图,若从顶点a出发,按深度优先搜索法进行遍历,则可能

得到的一种顶点序列为()。

A.acedbfB.acebfdC.aebcfdD.aedfcb

 

二、填空题

1.队列的特点之一是:

元素进、出队的次序是:

先进_______。

2.序列13,11,14,12,17,15,采用冒泡排序算法,经一趟冒泡后,序列的结果是________。

3.________结构中,数据元素间存在一对多的关系。

4.对16个元素的序列用冒泡排法进行排序,通常需要进行________趟冒泡。

5.对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的

三项信息是_______。

6.对9个元素的一组记录(58,35,93,20,12,78,56,41,79)进行直接插入排

序(由小到大排序),当把第7个记录56插入有序表,为寻找插入位置需比较

________次。

7.在对11个记录的序列(12,35,9,7,2,11,56,95,37,58,60)进行直接插入排序时,当把

第6个记录11插入到有序表时,为寻找插入位置,元素间需比较_________次。

(由小到大排列)

8.结构中的数据元素存在一对多的关系称为________结构。

9.哈希函数是记录关键字的值与该记录______之间所构造的对应关系。

10.设有一棵深度为5的完全二叉树,第5层上有3个结点,该树共有_______个结点。

(根所在结点为第1层)

11.20个元素进行冒泡法排序,通常需要进行19趟冒泡,其中第10趟冒泡共需要进行

________次元素间的比较。

12.一棵二叉树中每一个非叶结点的度数都为2,共有10个非叶结点,则该树共有

_______个结点。

13.一棵有19个结点的二叉树,采用链式结构存储,该树结构中有_____个指针

域为空。

14.序列3,1,7,18,6,9,13,12经一趟归并排序的结果为______。

15.中序遍历一棵________树可得到一个有序序列。

16.一棵有16个叶结点的哈夫曼树,则该树共有_______个非叶结点。

17.二叉排序树插入操作中,新插入的结点总是以树的________结点被插入的

18.________遍历二叉排序树可得到一个有序序列。

19.广义表的(a,(d,a,b),h,(e,((i,j),k)))深度是________。

20.广义表(f,h,(a,b,d,c),d,e,((i,j),k))的长度是________。

21.序列4,2,5,3,8,6,7,9,采用归并排序算法(升序),经一趟归并后,序列的结果

________。

22.广义表的(h,c,g,a,(a,b),d,e,((i,j),k))深度是_______。

23.字符串a1=〝teijing〞,a2=〝tef〞,a3=〝teifang〞,a4=“tefi〞最小的

是________。

24.设有串p1=”ABADF”,P2=”ABAFD”,P3=”ABADFA”P4=”ABAF”,四个串中最

小的是________。

三、综合题

1.设查找表为

序号

1

2

3

4

5

6

7

8

9

10

11

序列

4

12

18

19

37

55

65

77

85

86

117

(1)画出对上述查找表进行折半查找所对应的判定树(树中结点用下标表示)

(2)说明成功查找到元素86需要经过多少次比较?

(3)求在等概率条件下,成功查找的平均比较次数?

2.

(1)设有数据集合{50,39,17,83,111,14,65,13,91,102,49},依次取

集合中各数据构造一棵二叉排序树。

(2)一组记录的关键字序列为(6,9,7,4,5,8),利用堆排序(堆顶元素

是最小元素)的方法建立初始堆。

(要求用完全二叉树表示)

3.

(1)一组记录的关键字序列为(26,59,36,18,20,25),给出利用堆排序(堆顶

元素是最小元素)的方法建立的初始堆(要求以完全二叉树描述)。

(2)对关键字序列(26,59,36,18,20,64)采用快速排序,给出以第一个关键字为分割

元素,经过一次划分后的结果。

4.

(1)如下表为一个长度为10的有序表,给出按折半查找对该表进行查找的判定树

(2)按折半查找对该表进行查找,求在等概率情况下查找成功的平均比较次数。

为了成功查找72,给出元素的比较次数。

序号

1

2

3

4

5

6

7

8

9

10

序列

23

49

39

18

25

60

72

84

55

59

 

5.

(1)以1,2,3,6,7,8作为叶结点的权,构造一棵哈夫曼树

(2)给出具有相应权重值的叶结点的哈夫曼编码。

四、程序填空题

1.以下函数在a[0]到a[n-1]中,用折半查找算法查找关键字等于k的记录,查找成功返回该记录的下标,失败时返回-1,完成程序中的空格

typedefstruct

{intkey;

……

}NODE;

intBinary_Search(NODEa[],intn,intk)

{

intlow,mid,high;

low=0;

high=n-1;

while(__

(1)______)

{

mid=(__

(2)______)

if(a[mid].key==k)

return__(3)______;

elseif(__(4)______)

low=mid+1;

else__(5)______;

}

return-1

}

1.

(1)low<=high

(2)(low+high)/2

(3)mid;

(4)a[mid].key

(5)high=mid-1;

2.设线性表以不带头结点的单向链表存储,链表头指针为head,以下程序的功能是

输出链表中各结点中的数据域data。

完成程序中空格部分。

#defineNULL0

voidmain()

{NODE*head,*p;

p=head;/*p为工作指针*/

do

{printf(“%d\n”,___

(1)_____);

___

(2)_____;

}while(___(3)_____);

}

2.

(1)p->data

(2)p=p->next(3)p!

=NULL

3.以下程序是前序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、

右指针域分别为left和right,数据域data为字符型,BT指向根结点)。

voidInorder(structBTreeNode*BT)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1