ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:23.53KB ,
资源ID:9770518      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9770518.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(清华大学数据结构试题及答案.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、清华大学数据结构试题及答案清华大学数据结构试题及答案3年。3.假设树的广义表表示为A(C,D(E,F,G),H(I,J),树中包含的节点数为_ _ _ _ _ _ _ _ _ _ _ ,树的深度为_ _ _ _ _ _ _ _ _ _ _,树的度数为_ _ _ _ _ _ _ _ _ _ _度4.4。后缀公式9 2 3+-10 2/-的值为_ _ _ _ _ _ _ _ _ _对应于中缀公式(3+4X)-2Y/3的后缀公式是5。 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 5。如果二叉树存储在链表中,除了数据字段外,每个节点还

2、有两个指向左子节点和右子节点的指针在这种存储结构中,由n个节点组成的二叉树总共有_ _ _ _ _ _ _ _个指针字段,其中_ _ _ _ _ _ _ _个指针字段存储地址,_ _ _ _ _ _ _ _个指针为空指针 6。对于有向图和有n个顶点和e条边的无向图,在其对应的邻接表中,分别有_ _ _ _ _ _ _ _个和_ _ _ _ _ _ _ _个边节点 7。AOV网络是一种_ _ _ _ _ _ _ _ _ _ _ _ _ _ _图 8。在有n个顶点的无向完全图中,有_ _ _ _ _ _ _ _条边,而在有n个顶点的有向完全图中,有_ _ _ _ _ _ _ _条边 9。假设一个线

3、性表是(12,23,74,55,63,40),如果根据键% 4条件进行划分,具有相同余数的元素变成 6。7.8.9. 子表。然后,获得的四个子表分别是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

4、 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

5、 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

6、 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 10。10.如果根节点在将元素插入到B_ tree的过程中最终被拆分,则新树的高度为 _ _ _ _ _ _ _ _ _ _ _ _ 11.11。在堆排序过程中,筛选任何一个分支节点的时间复杂度为_ _ _ _ _ _,整个堆排序过程中的时间复杂度为

7、_ _ _ _ _ _ _ 12。12.在快速排序、堆排序和合并排序中,_ _ _ _ _ _ _ _ _ _ _排序是稳定的三、三、操作题(每题6分,共24分)1.1。一个线性表被链接并存储在下面的数组A中,其中头中的指针为0。接下来,试着写出线性表格A 0 1 2 3 4 5 6 7数据下一步 60 5 50 7 78 2 90 0 34 4 40 1 3图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

8、)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。link listmynote(link listl) /l是没有头节点的单个链表的头指针if (lbc (Bt- right );count left BST- right vi,VI,写算法(8点)intcountx (lnode * HL,elem type x) inti = 0;节点* p = h1;/我正在计数器的同时(p!=NULL) 如果

9、(P-数据= = x)I+;p=p-下一个; /同时,退出循环时I中的值是返回I的x节点数;/CounX 2 4 8 3 5 1,1,单题(每题2分,共8分) 1,1。当在长度为n的序列线性表中顺序搜索具有值x的元素时,搜索成功时的平均搜索长度(即x和个元素之间的平均比较时间,假设搜索每个元素的概率相等)为()a n b n/2c(n+1)/2d(n-1)/2 2,2。在单个链表中,如果由q指示的节点是由p指示的节点的前体节点,如果由s指示的节点被插入在q和p之间,则执行() 安s链接= p链接;plink = s;b p链接= s;slink = q;c plink = slink;slin

10、k = p;d qlink = s;slink = p;3、3、堆栈插入和删除操作在() A堆栈顶部b堆栈底部c任意位置d指定位置4和4,并从权重值分别为11、8、6、2和5的叶节点生成霍夫曼树。其加权路径长度为()9 a 24 b 71 c 48d 532,2,填空题(每空1分,共32分) 1,1,数据的逻辑结构分为四种类型:_ _ _ _ _ _ _ _ _ _ _、_ _ _ _、_ _ _ _ _和_ _ _ _ _ _ _ _ _ _。2.2.抽象数据类型由_ _ _ _ _ _ _ _ _和_ _ _ _ _ _ _ _ _组成3,3。一个线性表被链接并存储在下面的数组A中,标题中

11、的指针是一个o。接下来,线性表是 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a 0 1 2 3 4 5 6 7 8 data 60 56 42 38 74 25 next 4 3 7 6 2 0 1 4,4。在表头带附加节点的单链表和表头带HL指针的循环单链表中,判断链表为空的条件分别为 为_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _和_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

12、 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _的条件5,5。如果一个循环队列存储在一个有n个元素的一维数组中,它的头指针总是指向head元素的 _ _ _ _ _ _ _ _ _,并且循环队列的最大长度是_ _ _ _ _ _ _ _ _ _6,6。当堆栈采用顺序存储结构时,堆栈顶部元素的值可以用-;当堆栈采用链接存储 的结构时,堆栈顶部元素的值可以用_ _ _ _ _ _ _ _ _ _表示7,7,高度为5的二叉树包含至少_ _ _ _ _ _ _ _ _ _ _个节点,最多_ _ _ _ _ _ _ _ _ _ _个节点;高度为5的理想平衡树至少包含_

13、 _ _ _ _ _ _ _个节点,最多包含_ _ _ _ _ _ _ _个节点。8,8。在图的邻接表中,每个节点被称为_ _ _ _ _ _ _ _ _,它通常包含三个域:一个是_ _ _ _ _ _ _ _ _; 2是_ _ _ _ _ _ _ _ _ _ _ _ _ _;第三个是_ _ _ _ _ _ _ _ _ _ _9,9。在索引文件的索引表中,每个索引项包含与记录_ _ _ _ _ _ _ _ _ _ _和_ _ _ _ _ _ _ _ _ _ _相对应的两项数据10.10.假设树的广义表表示为A(B(C,D(E,F,G),H(I,J),树中包含的节点 的数量为_ _ _ _ _

14、_ _ _,树的深度为_ _ _ _ _ _ _ _,树的度数为_ _ _ _ _ _ _ _,节点H的父节点为_ _ _ _ _ _ _ _,子节点为_ _ _ _ _ _ _ _ _ 11,11。在堆排序过程中,筛选任何一个分支节点的时间复杂度为_ _ _ _ _ _ _ _ _ _,整个堆排序过程的时间复杂度为_ _ _ _ _ _ _ _ _ _ _ 12,12。在将元素插入到顺序为M的B_树的过程中,在每个节点中插入一个索引项(叶节点中的索引项是关键字和空指针)后,如果该节点的索引项等于_ _ _ _ _ _,则必须将其分为_ _ _ _ _ _ 个节点。 3, 3,操作问题(每项6

15、分,共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 = (

16、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,假设从键盘输入一批整数,顺序是:78 63 45 30 91 341,请写出输出结果 # include # include consst int stack massize =

17、30;typedef int元素类型;结构堆栈 元素类型堆栈堆栈大小;int top; #包括” stack . h “ Void main() stack a; 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。通常需要插入和

18、删除元素C。表中的元素需要占用连续的存储空间D。表中元素的数量保持不变4.4。堆栈的输入序列是1.23。则(c) a . 231 b . 321 c . 312d . 1235.5 AOV网不能是堆栈的输出序列,按以下顺序为a()A.有向图b。无向图c。无向无环图d。有向无环图6。6.开放寻址方法处理哈希表冲突时的平均查找长度()A.处理冲突的低于链接方法b .处理冲突的高于链接方法 c .与处理冲突的链接方法相同d .高于二进制搜索7.7。如果需要形式参数来直接访问实参数,形式参数变量应该被描述为()参数A.值b .函数c .指针d .引用 8。8.在稀疏矩阵的带行指针向量的链表存储中,每个

19、链表中的节点都有相同的()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的堆栈

20、时,假设top=N用于指示堆栈为空,则指示堆栈已满的条件为 _ _ top = = 0 _ _(仅当超过时才为满)_ _ _ _ _ _ _4.4.对于长度为n的单链存储的线性表,将元素插入报头的时间复杂度为_ _ _ _ _ _ _ _,而插入元素的时间复杂度为5。 表末的元素是_ _ _ _ _ _ _ _ _ _ _ _ 5。假设w是二维数组,每个数据元素占用4个字节,行下标I从0到7,列下标j从0到3,那么二维数组w的数据元素总共占用_ _ _ _ _ _个字节W中第6行和第4列的元素总共占用_ _ _ _ _ _ _ _个字节如果二维数组W是按行顺序存储的,并且它的起始地址是100,

21、那么二维数组元素W 6,3的起始地址是_ _ _ _ _ _ _ _ _ _ 6。广义表a = (a,(a,b),(a,b,c),那么它的深度是_ _ _ _ _ _ _ _ _,它的长度是_ _ _ _ _ _ _ _ _ _ 7。二叉树是指度数为2的_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _树对于有n个节点的二叉树,所有节点的度数之和是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 8。当以中间顺序遍历二进制搜索树时,获得的节点序列是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _在遍历由算术表达式组成的二进制语法树之后,获得的节点序列是_ _

22、 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _6年7月8日9年9月。当一个具有n个节点的二叉树存储在一个二进制链表中时,指针的总数为_ _ _ _ _ _ _ _ _ _ _ _,其中 _ _ _ _ _ _ _ _ _ _ _ _用于指向子级,而_ _ _ _ _ _ _ _ _ _ _ _指针是空闲的 10。10.如果一个完整的二叉树从0开始编号,并根据这个编号顺序存储在一维数组A中,即编号为0的节点存储在0中以此类推,元素的左子元素是_ _ _ _ _ _ _ _,右子元素是_ _ _ _ _ _ _ _,父元素是_ _ _ _ _ _ _ _ _ 11。1

23、1.在线性表的散列存储中,有两种常用的方法来处理冲突,即_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _和 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _。 12。12.当需要排序的记录数量较大,排序代码随机,不要求稳定性时,宜采用_ _ _ _ _ _ _ _ _排序。 当要排序的记录数量很大,存储空间允许并且排序要求稳定时,使用_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

24、_排序是合适的3、3、操作题(每题6分,共24分)1分。1.知道a 6吗?稀疏矩阵如下, ?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)开始通过广度优

25、先搜索得到的广度优先生成树;4.4.已知图的顶点集V和边集E分别为 V=1,2,3,4,5,6,7。 E=,;如果存储在邻接表中,并且每个顶点邻接表中的边节点根据端点的序号从小到大链接,则使用主教材中介绍的拓扑排序算法进行排序,并尝试得到的拓扑排序序列。 图6 4,4,阅读算法(每题7分,共14分)1.1.int素数(int n) int I = 1; int x =(int)sqrt(n); ,而(+ix)返回1;否则返回0; (1) (1)表示算法的功能; (2) (2)该算法的时间复杂度是多少?2.2.写下以下算法的功能:void aj (adjlistgl,inti,intn) que

26、ueq;初始队列(Q);(栈顶)栈顶=栈顶-1;否则返回(0);返回(1);2.2。设计一种算法,在链式存储结构上建立二叉树 typedef char数据类型; typedef结构节点 datatype data结构节点*lchild,* rchild bitreevoid createbitree(bitree * scanf( if(ch = = # ) Bt = 0;返回; Bt =(bitree *)malloc(sizeof(bitree);bt-数据= chcreatebitree(Bt- lchild);createbitree(Bt- archild);3.3。设计一个算法来判

27、断二叉树是否是二叉排序树 int minnum=-32768,flag = 1; typedef结构节点int键;结构节点*lchild,* rchild bitreevoid inorder(bitree * Bt) if(Bt!= 0) in order(Bt- lchild);if(minnumbt-key)标志= 0;minnum = Bt- key;排序(Bt- r child); 数据结构试卷(2) 1,选择题(24分) 1。以下关于线性表的陈述是错误的() (A)线性表使用顺序存储,必须占用连续存储空间(b)线性表使用链式存储,不需要占用连续存储空间(c)线性表使用链式存储,便于

28、插入和删除操作(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)% m4。假设二叉树的中序遍历序列是ABCD,其前序遍历序列是CABD,那么遍历二叉树得到的序列是()(a) badc (b) bcda (c) cdab

29、 (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-18。设置一组初始记录键序列(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

30、搜索技术,必须解决的两个问题是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _和 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2。2.以下程序段的功能实现了数据X堆栈,要求在下划线处填写正确的语句 typedef结构国际标准100;int top sqstack。void push(sqstack else _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _;_ _ _ _ _ _ _ _ _ _ _ _ _ _; 3。3.通过以中间顺序遍历二进制排序树获得的序列是_ _

31、_ _ _ _ _ _(有序或无序的)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