数据结构期末考试试卷B-5.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2002年 一、简答题(10分,每小题5分) 顺序存储结构和链式存储结构各有哪些优缺点? 简述栈和队列的共同点和不同点。它们与线性表有什么关系? 二、判断题(10分,每小题2分) 正确在括号内打√,错误打× ( )(1)顺序存储结构只能用来存放线性结构,链式存储结构只能用来存放非线性结构。 ( )(2)三元组表相当于一个由若干三元组构成的顺序表。 ( )(3)广义表的表头是表中第一个元素,表尾是表中最后一个元素。 ( )(4)将一棵树转换为二叉树表示后,该二叉树的根结点一定没有右子树。 ( )(5)哈夫曼树中没有度为1的结点。 三、单项选择题(10分, 每小题2分) 1.下面关于串的叙述中,哪一个是不正确的? A) 串是字符的有限序列 B) 空串是由空格构成的串 C) 模式匹配是串的重要运算 D) 串既可顺序存储,也可采用链式存储 2.将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点 进行编号,根结点编号为1,则编号为49的结点的左孩子的编号为: A、98 B、99 C、50 D、48 3.栈S最多能容纳4个元素。现有6个元素按A、B、C、D、E、F的顺序进栈, 问下列哪一个序列是可能的出栈序列? A) E、D、C、B、A、F B) B、C、E、F、A、D C) C、B、E、D、A、F D) A、D、F、E、B、C 4.有一个含头结点的单链表,头指针为head, 则判断其是否为空的条件为: head==NULL B. Head-next==NULL C. head-next==head D. Head!=NULL 5.在下列存储形式中,哪一个不是树的存储形式? A)双亲表示法 B)孩子链表表示法 C)孩子兄弟表示法 D)顺序存储表示法 四、填空题(15分) 填空完成下面中序遍历二叉树的非递归算法: void InOrder(BiTree root) { InitStack ( S ); p = _________ ; while ( _____________ || ! IsEmpty(S)) { while (p!=NULL) { Push(S, _____ ) ; p = ______________ ; } if ( _______________ ) { Pop(S, _______ ) ; Visit ( p - data ); p = _______________ ; } } } 五、构造题(15 分, 每小题5分) 已知一棵树如图1所示,请将该树转化为二叉树。 已知二叉树如图2所示,请画出中序线索二叉树。 假设字符a, b, c, d, e, f的使用频度分别是0.07, 0.09, 0.12, 0.22, 0.23, 0.27,请画出哈夫曼树,并给出a, b, c, d, e, f的哈夫曼编码。 六、算法理解与分析题(15分) 阅读下面程序,简要说明其功能,并分析算法的时间复杂度。 void Program(BiTree root) { LinkQueue Q; InitQueue (Q); if ( ! root ) return; EnterQueue(Q, root); while(! IsEmpty(Q)) { DeleteQueue(Q, p); printf(“ %d ”, p-data); if ( p-RChild != NULL) EnterQueue (Q, p-RChild); if ( p-LChild != NULL) EnterQueue (Q, p-LChild); } } 七、算法设计题(25分) 二叉树按照二叉链表方式存储,编写算法计算二叉树中非叶结点数目。[10分] 已知两个带头结点的单链表A和B,编写一个过程从单链表A中删除自第i个元素起的共len个元素,然后将它们插入到单链表B的第 j个元素之前。[15分] A B C D H G F E K J I 图1 A B C E D 图2

文档评论(0)

prtscr + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档