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

上传人:b****2 文档编号:11543154 上传时间:2023-06-01 格式:DOCX 页数:46 大小:149.89KB
下载 相关 举报
数据结构本期末综合练习.docx_第1页
第1页 / 共46页
数据结构本期末综合练习.docx_第2页
第2页 / 共46页
数据结构本期末综合练习.docx_第3页
第3页 / 共46页
数据结构本期末综合练习.docx_第4页
第4页 / 共46页
数据结构本期末综合练习.docx_第5页
第5页 / 共46页
数据结构本期末综合练习.docx_第6页
第6页 / 共46页
数据结构本期末综合练习.docx_第7页
第7页 / 共46页
数据结构本期末综合练习.docx_第8页
第8页 / 共46页
数据结构本期末综合练习.docx_第9页
第9页 / 共46页
数据结构本期末综合练习.docx_第10页
第10页 / 共46页
数据结构本期末综合练习.docx_第11页
第11页 / 共46页
数据结构本期末综合练习.docx_第12页
第12页 / 共46页
数据结构本期末综合练习.docx_第13页
第13页 / 共46页
数据结构本期末综合练习.docx_第14页
第14页 / 共46页
数据结构本期末综合练习.docx_第15页
第15页 / 共46页
数据结构本期末综合练习.docx_第16页
第16页 / 共46页
数据结构本期末综合练习.docx_第17页
第17页 / 共46页
数据结构本期末综合练习.docx_第18页
第18页 / 共46页
数据结构本期末综合练习.docx_第19页
第19页 / 共46页
数据结构本期末综合练习.docx_第20页
第20页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

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

数据结构本期末综合练习.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.29B.27C.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)

{

if(BT!

=NULL){

__

(1)______;

__

(2)______;

Inorder(BT-->right);}

}

利用上述程序对右图进行前序遍历,结果是__(3)______;

3.

(1)printf(“%c”,BT->data)

(2)Inorder(BT->left)

(3)abdfec

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

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

完成程序中

空格部分。

voidInorder(structBTreeNode*BT)

{

if(BT!

=NULL){

Inorder(BT->left);

___

(1)_____

___

(2)_____

}

4.

(1)Inorder(BT->right)

(2)printf(“%c”,BT->data)

5.顺序查找算法如下,完成程序中空格部分。

intsearch(NODEa[],intn,intk)

/*在a[0],a[1]…a[n-1],中查找关键字等于k的记录,查找成功返回记录的下标,失

败时返回-1*/

{inti=0;

while(i

(1)_____)

___

(2)_____

if(___(3)____)

returni;

elsereturn-1;

}

5.

(1)!

=k

(2)i++;(3)a[i].key==k

综合练习一答案

一、单项选择题

1.C2.A3.B4.D5.A6.C7.C8.B9.B10.C11.C12.A13.A14.D15.D16.C17.A18.B19.D20.B

二、填空题

1.先出2.11,13,12,14,15,173.树型4.155.行下标列下标数组元素

6.4次7.38.树形9.存储位置10.1811.10

12.21

13.20

14.1,3,7,18,6,9,12,13

15.二叉排序树16.15

17.叶18.中序

19.4

20.6

21.2,4,3,5,6,8,7,9

22.3

23.a2

24.P1

三、综合题

1.

(1)55

1885

4196586

123777117

(2)3次

(3)平均查找长度=(1+2*2+3*4+4*4)/11=3

2.

(1)

(2)4,5,7,9,6,8

3.

(1)18,20,25,59,26,36

(2)20,18,26,36,59,64

4.

(1)

(2)(1+2*2+3*4+4*3)/10=29/104次

5.

(1)

(2)

10000

20001

3001

601

710

811

综合练习二

一、单项选择题

1.设头指针为head的非空的单向循环链表,指针p指向尾结点,则满足表达式()

为真。

A.p->next==NULLB.p==NULLC.p->next==headD.p==head

2.数据的存储结构包括数据元素的表示和()。

A.数据处理的方法C.相关算法

D.数据元素的类型D.数据元素间的关系的表示

3.一种逻辑结构()。

A.可以有不同的存储结构B.只能有唯一的存储结构

C.是指某一种数据元素之间的存储关系D.是指某一种数据元素的性质

4.在一个头指针为head的单向链表中,p指向尾结点,要使该链表成为单向循环链表

可执行()。

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

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

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

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

C.插入删除元素的操作不需要移动元素结点D.可以通过下标对链表进行直接访问

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

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

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

7.线性结构中数据元素的位置之间存在()的关系。

A.一对一B.一对多

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

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

A.栈的特点是先进后出

B.栈的特点是先进先出

C.队列的特点是先进后出

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

9.在一个单向链表中p所指结点之后插入一个s所指的结点时,可执行()。

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

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

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

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

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

A.24B.17C.16D.23

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

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

A.17,15,13,11B.11,13,15,17

C.17,15,11,13D.13,11,17,15

12.设一棵有2n+1个结点的二叉树,除叶结点外每个结点度数都为2,则该树共有()

个叶结点。

A.nB.n+1C.n+2D.n-1

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

A.11B.12C.13D.10

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

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

A.abecdfB.aecbdfC.aebcfdD.aedfcb

图1

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

A.22B.10C.11D.12

16.线性表以()方式存储,能进行折半查找。

A.关键字有序的顺序B.顺序C.链接D.二叉树

17.一棵具有38个结点的完全二叉树,最后一层有()个结点。

A.7B.5C.6D.8

18.一棵具有38个结点的完全二叉树,最后一层有()个结点。

A.7B.5C.6D.8

19.已知如图2所示的一个图,若从顶点a出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为()。

A.abecdfB.acfebdC.aebcfdD.aedfcb

20.对一个栈顶指针为top的链栈进行出栈操作,用变量e保存栈顶元素的值,则执行

()。

A.e=top->next;top->data=e;B.top=top->next;e=top->data;

C.e=top->data;top=top->next;D.top=top->next;e=data;

二、填空题

1.字符串a1=〝BEIJING〞,a2=〝BEF〞,a3=〝BEFANG〞,a4=“BEI〞最小的

是______。

2.数组a经初始化chara[]=“English”;a[7]中存放的是_字符串的结束符。

3.把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为__物理结构(存储结构)。

4.设有串p1=”ABADF”,P2=”ABAFD”,P3=”ABADFA”P4=”ABAF”,四个串中最大的是________。

5.设有一个长度为22的顺序表,要删除第8个元素需移动元素的个数为______。

6.在一棵二叉树中,若编号为i的结点存在右孩子,则右孩子的顺序编号为________。

7.在一棵二叉树中,若编号为i的结点存在左孩子,则左孩子的顺序编号为______。

8.设有一个长度为20的顺序表,要插入一个元素,并作为第8个元素,需移动元素的个

数为________。

9.设一棵有n个叶结点的二叉树,除叶结点外每个结点度数都为2,则该树共有

______个结点。

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

11.在对一组序列(45,29,87,12,6,63,55,37,78)进行直接插入排序时,当把第8个记录37插

入到有序表时,为寻找插入位置需比较_________次。

(由小到大排序)

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

(根所在结点为第1层)

13.n个元素进行冒泡法排序,通常需要进行________趟冒泡。

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

个叶结点。

15.一棵有21个结点的哈夫曼树,该树中有_____个叶结点。

16.在对一组记录(55,39,97,22,16,73,65,47,88)进行直接插入排序时,当把第7个记录65插

入到有序表时,为寻找插入位置需比较_________次。

(由小到大排序

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

18.n个元素进行冒泡法排序,第j趟冒泡要进行______次元素间的比较。

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

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

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

22.中序遍历________可得到一个有序序列。

23.序列14,12,15,13,18,16,采用冒泡排序算法(升序),经一趟冒泡后,序列的结果

是________。

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

三、综合题

1.设查找表为(7,15,21,22,40,58,68,80,88,89,120),元素的下标依次为1,2,3,……,11.

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

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

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

2.

(1)设有数据集合{40,29,7,73,101,4,55,2,81,92,39},依次取集合

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

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

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

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

3.

(1)一组记录的关键字序列为(47,80,57,39,41,46),给出利用堆排序(堆顶

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

(2)对关键字序列(47,80,5

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2