- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构复习卷部分答案
华东理工大学继续教育学院
《数据结构》期中试卷(闭卷)
班级 学号 姓名 成绩
一 填空题(共20分,每空2分)
题号 ① ② ③ ④ ⑤ 小计 解答 题号 ⑥ ⑦ ⑧ ⑨ ⑩ 解答
1设r指向单链表的某一个结点,要在该结点之后插入数据元素x,需执行的语句是
s=malloc(size); s-data=x; s-next=r-next ; r-next=s。
2 一棵含有n个结点的二叉树,它的最小深度为 INT( log2(n)+1 ) 。log以2为底的n 的对数,加1后取整。
3 树有三种常用的存储结构,即孩子链表法,双亲表示法和 孩子兄弟链表法。
4 已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该树中有 11 个叶子结点。
一棵度为M的树中有N1个度为1的结点,N2个度为2的结点。。。Nm个度为m 的结点,叶子数算法: N0=1+N2+2N3+3N4…..(m-1)nm ,就是不考虑度为1的结点
5 将一棵有100个结点的完全二叉树按层编号,则编号为49的结点的双亲编号为 24 。
完全二叉树某一结点N的双亲算法:INT(N/2)
6 设s[maxsize]为一个顺序存储的栈,变量top指向栈顶位置,栈为满的条件是 top=maxsize-1 ,因为C语言中top 指针从0开始,
7 一棵哈夫曼树T,其叶子结点的权分别为3,16,7,4,11,这棵哈夫曼树的带权路径长度为 41 。哈夫曼树的带权路径长度规定为所有叶子结点的带权路径长度之和
10 设计一个判别表达式中左右括号是否配对的算法,采用 栈 数据结构最佳。
二、选择题(共20分,每空2分)
题号 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ 小计 选择 B A D BD D 16
534 B A D 1设有一顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素出栈的顺序是s2,s3,s4,s6,s5,s1,则栈的容量至少应该是 B 。
A) 2 B) 3 C) 5 D) 6
进栈出栈表如下 :s1- --s1 s2-- s1-- s1 s3--s1-- s1 s4--- s1-- s1 s5-- s1 s5 s6-- s1 s5--s1--0
2链栈和顺序栈相比,有一个较明显的优点是 A 。
A) 通常不会出现栈满的情况 B) 通常不会出现栈空的情况
C) 插入操作更加方便 D) 删除操作更加方便
链栈可以无限增加下去,
3设森林T中有4棵树,第一、二、三、四棵树的结点个数分别是n1,n2,n3和n4,那么当把森林T转换成一棵二叉树后,其根结点的右子树上有 D 个结点。
A) n1-1 B) n1 C) n1+n2+n3 D) n2+n3+n4
森林转换成二叉树,第一棵树变成左子树,其他所有树都连到右子树上,所以右子数上的结点为后三棵对上所有结点
4下面关于线性表的叙述错误的是 B D 。
线性表采用顺序存储,必须占用一片地址连续的单元;
线性表采用顺序存储,便于进行插入和删除操作;
线性表采用链式存储,不必占用一片地址连续的单元;
D) 线性表采用链式存储,不便于进行插入和删除操作;
5 设rear是指向非空带头结点的循环链表的尾指针,则删除首元结点的操作为 C 。
s=rear; rear=rear→next; free(s)
rear=rear→ext; free(rear)
rear=rear→next→next; free(rear)
s=rear→next→next; rear→next→next=s→next; free(s)
6 已知L是一单链表,p^结点既不是首元结点,也不是尾结点,那么在p^结点后插入s^结点的语句序列是 1 6 ,删除p^结点的直接后继的语句序列是 534 。
s→next=p→next
p→next=s→next
p→next=p→next→next
free(q)
q=p→next
p→next=s
7 深度为6的二叉树最多有 B 个结点。
A) 64 B) 63 B) 32 D) 31
结点数为 2n -1
8为了提高内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的存储空间时,
应将两栈的 ⑨ 分别设在这片内存空间的两端,这样,只有当 ⑩
文档评论(0)