清华大学数据结构试题及答案.docx

上传人:b****7 文档编号:9770518 上传时间:2023-02-06 格式:DOCX 页数:14 大小:23.53KB
下载 相关 举报
清华大学数据结构试题及答案.docx_第1页
第1页 / 共14页
清华大学数据结构试题及答案.docx_第2页
第2页 / 共14页
清华大学数据结构试题及答案.docx_第3页
第3页 / 共14页
清华大学数据结构试题及答案.docx_第4页
第4页 / 共14页
清华大学数据结构试题及答案.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

清华大学数据结构试题及答案.docx

《清华大学数据结构试题及答案.docx》由会员分享,可在线阅读,更多相关《清华大学数据结构试题及答案.docx(14页珍藏版)》请在冰豆网上搜索。

清华大学数据结构试题及答案.docx

清华大学数据结构试题及答案

清华大学数据结构试题及答案

3年。

3.假设树的广义表表示为A(C,D(E,F,G),H(I,J)),树中包含的节点数为___________

,树的深度为___________,树的度数为___________度

4.4。

后缀公式923+-102/-的值为__________对应于中缀公式(3+4X)-2Y/3的后缀公式是5。

____________________________

5。

如果二叉树存储在链表中,除了数据字段外,每个节点还有两个指向左子节点和右子节点的指针在这种存储结构中,由n个节点组成的二叉树总共有________个指针字段,其中________个指针字段存储地址,________个指针为空指针

6。

对于有向图和有n个顶点和e条边的无向图,在其对应的邻接表中,分别有________个和________个边节点

7。

AOV网络是一种_______________图

8。

在有n个顶点的无向完全图中,有________条边,而在有n个顶点的有向完全图中,有________条边

9。

假设一个线性表是(12,23,74,55,63,40),如果根据键%4条件进行划分,具有相同余数的元素变成

6。

7.8.9.

子表。

然后,获得的四个子表分别是____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

10。

10.如果根节点在将元素插入到B_tree的过程中最终被拆分,则新树的高度为

____________

11.11。

在堆排序过程中,筛选任何一个分支节点的时间复杂度为______,整个堆排序过程中

的时间复杂度为_______

12。

12.在快速排序、堆排序和合并排序中,___________排序是稳定的三、三、操作题(每题6分,共24分)

1.1。

一个线性表被链接并存储在下面的数组A中,其中头中的指针为[0]。

接下来,试着写出线性表格A01234567数据下一步

6055077829003444013图10

2。

2.请画出图10的邻接矩阵和邻接表

3.3。

已知图的顶点集V和边集E为

V={1,2,3,4,5,6,7};

E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15,(3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25};用Kruskar算法得到最小生成树,试写

4。

4在最小生成树中按顺序排列。

将数据4、2、5、8、3添加到小根堆后,绘制堆变化。

4,4,阅读算法(每题7分,共14分)

1.1。

linklistmynote(linklistl)

{//l是没有头节点的单个链表的头指针if(lbc(Bt->right);countleftBST->rightvi,VI,写算法(8点)intcountx(lnode*HL,elemtypex)

{inti=0;节点*p=h1;//我正在计数器的同时(p!

=NULL)

{如果(P->数据==x)I+;p=p->下一个;

}//同时,退出循环时I中的值是返回I的x节点数;}//CounX

24835

1,1,单题(每题2分,共8分)

1,1。

当在长度为n的序列线性表中顺序搜索具有值x的元素时,搜索成功时的平均搜索长度(即x和

个元素之间的平均比较时间,假设搜索每个元素的概率相等)为()anbn/2c(n+1)/2d(n-1)/2

2,2。

在单个链表中,如果由q指示的节点是由p指示的节点的前体节点,如果由s指示的节点被插入在q和p之间,则执行

()

安s→链接=p→链接;p→link=s;bp→链接=s;s→link=q;cp→link=s→link;s→link=p;dq→link=s;s→link=p;3、3、堆栈插入和删除操作在()

A堆栈顶部b堆栈底部c任意位置d指定位置4和4,并从权重值分别为11、8、6、2和5的叶节点生成霍夫曼树。

其加权路径长度为()

9a24b71c48d532,2,填空题(每空1分,共32分)

1,1,数据的逻辑结构分为四种类型:

___________、____、_____和__________。

2.2.抽象数据类型由_________和_________组成

3,3。

一个线性表被链接并存储在下面的数组A中,标题中的指针是一个[o]。

接下来,线性表是

___________________________________________________

a012345678

data

605642387425next

4376201

4,4。

在表头带附加节点的单链表和表头带HL指针的循环单链表中,判断链表为空的条件分别为

为_________________和_________________________________________的条件

5,5。

如果一个循环队列存储在一个有n个元素的一维数组中,它的头指针总是指向head元素的

_________,并且循环队列的最大长度是__________

6,6。

当堆栈采用顺序存储结构时,堆栈顶部元素的值可以用-;当堆栈采用链接存储

的结构时,堆栈顶部元素的值可以用__________表示

7,7,高度为5的二叉树包含至少___________个节点,最多___________个节点;高度为5的理想平衡树至少包含________个节点,最多包含________个节点。

8,8。

在图的邻接表中,每个节点被称为_________,它通常包含三个域:

一个是_________;

2是______________;第三个是___________

9,9。

在索引文件的索引表中,每个索引项包含与记录___________和___________相对应的两项数据10.10.假设树的广义表表示为A(B(C,D(E,F,G),H(I,J)),树中包含的节点

的数量为________,树的深度为________,树的度数为________,节点H的父节点为________,子节点为_________

11,11。

在堆排序过程中,筛选任何一个分支节点的时间复杂度为__________,整个堆

排序过程的时间复杂度为___________

12,12。

在将元素插入到顺序为M的B_树的过程中,在每个节点中插入一个索引项(叶节点中

的索引项是关键字和空指针)后,如果该节点的索引项等于______,则必须将其分为______

个节点。

3,

3,操作问题(每项6分,共24分)

1,1,已知一组记录的排序代码为(46,79,56,38,40,80,95,24),并写出快速排序的每个除法结果

2,2,一个线性表是b=(12,23,45,57,20,03,78,31,15,36),哈希表是[0..12],哈希

列函数为H(键)=键%13,冲突通过线性探索解决。

请绘制哈希表,并计算在同等概率条件下搜索成功的平均搜索长度。

3,3。

众所周知,二叉树的前序遍历的结果序列是ABECKFGHIJ,前序遍历的结果是EBCDAFHIGJ。

试图写入二叉树的后顺序遍历的结果。

4,4。

图的顶点集V的每个边集G如下:

V={0,1,2,3,4,5,6,7,8,9};

e={(0,1),(0,4),(1,2),(1,7),(2,8),(3,4),(3,8),(5,6),(5,8),(5,9),(6,

7),(7,8),(8,9)}

当由邻接矩阵和邻接表表示时,由深度优先搜索遍历获得的顶点序列和由宽度优先搜索遍历从顶点V0获得的顶点序列被分别写入

假设每个顶点邻接表中的节点按顶点数的降序链接深度优先序列宽度优先序列

邻接矩阵表示

邻接表表示

四、四、阅读算法,回答问题(每项8分,共16分)

1,假设从键盘输入一批整数,顺序是:

786345309134–1,请写出输出结果

#include#include

consstintstackmassize=30;typedefint元素类型;结构堆栈{

元素类型堆栈[堆栈大小];inttop};

#包括”stack.h“Voidmain()

{

stacka;

1,单题(每题2分,共20分)

1。

1.算法的评估不包括以下(b)

a。

b.并行性c.正确性d.时空复杂性

2.2。

在带头节点的单链表HL中,要将指针p指向的节点插入头节点,执行()A.p->下一个=h1->下一个;HL->下一个=p;百宝箱->下一个=HLHL=p;

℃p->下一个=HLp=h1;高度=p;p->下一个=h1;

3。

3.对于线性表,下列哪种情况应该用链表来表示?

()

A。

通常需要随机访问元素B。

通常需要插入和删除元素C。

表中的元素需要占用连续的存储空间D。

表中元素的数量保持不变

4.4。

堆栈的输入序列是1.23。

则(c)

a.231b.321c.312d.1235.5AOV网不能是堆栈的输出序列,按以下顺序为a()A.有向图b。

无向图c。

无向无环图d。

有向无环图6。

6.开放寻址方法处理哈希表冲突时的平均查找长度()A.处理冲突的低于链接方法b.处理冲突的高于链接方法

c.与处理冲突的链接方法相同d.高于二进制搜索

7.7。

如果需要形式参数来直接访问实参数,形式参数变量应该被描述为()参数A.值b.函数c.指针d.引用

8。

8.在稀疏矩阵的带行指针向量的链表存储中,每个链表中的节点都有相同的()A.行号b、列号c、元素值d、非零元素数9。

9.快速排序最糟糕的时间复杂度是()

a.o(log2n)b.o(nlog2n)c.0(n)d.0(N2)10.10。

当从二进制搜索树中搜索元素时,其时间复杂度大约为()A.操作题(每题6分,共24分)

1.1。

数据结构指的是数据及其相互_______________当节点之间存在m到n(m:

n)

的连接时,该结构被称为___________________

2.2。

队列的插入在队列的末尾,删除在队列的开头。

3.3。

当按顺序存储数组长度为N的堆栈时,假设top==N用于指示堆栈为空,则指示堆栈已满的条件为

__\top==0__(仅当超过时才为满)_______4.4.对于长度为n的单链存储的线性表,将元素插入报头的时间复杂度为________,而插入元素的时间复杂度为5。

表末的元素是____________

5。

假设w是二维数组,每个数据元素占用4个字节,行下标I从0到7,列下标j从0到3,那么二维数组w的数据元素总共占用______个字节W中第6行和第4列的元素总共占用________个字节如果二维数组W是按行顺序存储的,并且它的起始地址是100,那么二维数组元素W[6,3]的起始地址是__________

6。

广义表a=(a,(a,b),((a,b,c)),那么它的深度是_________,它的长度是__________

7。

二叉树是指度数为2的_________________树对于有n个节点的二叉树,所有节点的度数之和是_______________

8。

当以中间顺序遍历二进制搜索树时,获得的节点序列是_______________在遍历由算术表达式组成的二进制语法树之后,获得的节点序列是_____________________

6年7月8日

9年9月。

当一个具有n个节点的二叉树存储在一个二进制链表中时,指针的总数为____________,其中

____________用于指向子级,而____________指针是空闲的

10。

10.如果一个完整的二叉树从0开始编号,并根据这个编号顺序存储在一维数组A中,即编号为0的节点存储在[0中]以此类推,[元素的左子元素是________,右子元素是________,父元素是_________

11。

11.在线性表的散列存储中,有两种常用的方法来处理冲突,即_________________________和

_______________________________。

12。

12.当需要排序的记录数量较大,排序代码随机,不要求稳定性时,宜采用_________排序。

当要排序的记录数量很大,存储空间允许并且排序要求稳定时,使用____________________________________排序是合适的3、3、操作题(每题6分,共24分)1分。

1.知道a6吗?

稀疏矩阵如下,

0?

0?

0?

0?

5?

0

00000000000700000001?

0?

0?

2?

0?

0?

10

尝试:

(1)

(1)

写它的三元组

线性表;

(2)

(2)给出了三元线性表的顺序存储表示

2.2。

有一系列输入数据{46,25,78,62,12,80}。

通过逐个输入数据,尝试从空树中绘制一个

的二进制搜索树。

3.3。

如果图6中所示的有向图与邻接表一起存储,并且每个顶点邻接表中的边缘节点根据端点顺序

从小到大链接,则尝试写:

(1)深度优先生成树,通过从顶点①进行深度优先搜索获得;

(2)从顶点

(2)开始通过广度优先搜索得到的广度优先生成树;4.4.已知图的顶点集V和边集E分别为

V={1,2,3,4,5,6,7}。

E={,,,,,,,};如果存储在邻接表中,并且每个顶点邻接表中的边节点根据端点的序号从小到大链接,则使用主教材中介绍的拓扑排序算法进行排序,并尝试得到的拓扑排序序列。

图6

4,4,阅读算法(每题7分,共14分)1.1.int素数(intn)

{

intI=1;

intx=(int)sqrt(n);

,而(+ix)返回1;否则返回0;

}

(1)

(1)表示算法的功能;

(2)

(2)该算法的时间复杂度是多少?

2.2.写下以下算法的功能:

voidaj(adjlistgl,inti,intn){queueq;初始队列(Q);([栈顶)栈顶=栈顶-1;否则返回(0);返回

(1);

2.2。

设计一种算法,在链式存储结构上建立二叉树

typedefchar数据类型;

typedef结构节点{datatypedata结构节点*lchild,*rchild}bitreevoidcreatebitree(bitree*scanf(\if(ch==‘#‘){Bt=0;返回;}

Bt=(bitree*)malloc(sizeof(bitree));bt->数据=chcreatebitree(Bt->lchild);createbitree(Bt->archild);

3.3。

设计一个算法来判断二叉树是否是二叉排序树

intminnum=-32768,flag=1;

typedef结构节点{int键;结构节点*lchild,*rchild}bitreevoidinorder(bitree*Bt)

{

if(Bt!

=0)

{inorder(Bt->lchild);if(minnum>bt->key)标志=0;minnum=Bt->key;排序(Bt->rchild);}}

数据结构试卷

(2)

1,选择题(24分)

1。

以下关于线性表的陈述是错误的()

(A)线性表使用顺序存储,必须占用连续存储空间(b)线性表使用链式存储,不需要占用连续存储空间(c)线性表使用链式存储,便于插入和删除操作(d)线性表使用顺序存储,便于插入和删除操作。

假设哈夫曼树中的叶节点总数为M,如果使用二进制链表作为存储结构,哈夫曼树中有()个空指针字段(a)2m-1(b)2m(c)2m+1(d)4m

3。

假设顺序循环队列q[0:

m-1]的头指针和尾指针分别是f和r,头指针f总是指向团队头元素的前一个位置,尾指针r总是指向团队尾元素的当前位置,那么循环队列中的元素数量是()(a)r-f(b)f-r(c)(r-f+m)%m(d)(f-r+m)%m

4。

假设二叉树的中序遍历序列是ABCD,其前序遍历序列是CABD,那么遍历二叉树得到的序列是()(a)badc(b)bcda(c)cdab(d)cbda5。

如果在完全无向图中有n个顶点,那么在完全无向图中有()条边(a)N2(d)N2-16。

如果二叉树中有2000个节点,二叉树的最小高度是()(a)9(b)10(c)11(d)12

7。

如果有向图中有n个顶点,那么在对应于有向图的邻接表中有()个头节点(a)n-1(b)n(c)n+1(d)2n-1

8。

设置一组初始记录键序列(5,2,6,3,8),并使用第一个记录键5作为执行快速序列的基础。

结果是()(a)2,3,5,8,6(b)3,2,5,8,6(c)3,2,5,6,8(d)2,3,6,5,8

2,填写问题(24分)

1.1。

为了有效地应用HASH搜索技术,必须解决的两个问题是___________________和

_________________________

2。

2.以下程序段的功能实现了数据X堆栈,要求在下划线处填写正确的语句

typedef结构{国际标准[100];inttop}sqstack。

voidpush(sqstack

else{_______________________;______________;}}

3。

3.通过以中间顺序遍历二进制排序树获得的序列是________(有序或无序的)4.4.快速排序的最差时间复杂度是________,平均时间复杂度是_________

5.5。

如果二叉树中0度的节点数为N0,1度的节点数为N1,则二叉树中2度的节点数为

________;如果采用二进制链表作为二叉树的存储结构,则二叉树总共有______个空指针字段6.6.如果无向图的顶点数和边数分别为n和e,并且所有顶点的度数之和为d,则e=_____

7.7。

如果一组初始记录密钥序列是(55,63,44,38,75,80,31,56),那么通过筛选方法建立的初始堆是

_________________________________

v1?

3?

2?

4v2?

1?

3v3?

1?

4?

28.8.让无向图G的邻接表是v4?

1?

3、从顶点V1开始的深度优先遍历序列是______;广度

优先遍历顺序是___________

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

当前位置:首页 > 总结汇报 > 学习总结

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

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