数据结构试题和答案3.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构试题和答案3

《数据结构》复习思考试题 一、填空(10分) 1、一个m阶B-树中,每个结点最少有( ceil(m/2)?)个儿子结点,m阶B+树中每个结点(除根外)最多有(?m?)个儿子结点. 2、n(n0)个结点构成的二叉树,叶结点最多有(?floor((n+1)/2) )个,最少有(?1?)个。若二叉树有m个叶结点,则度为2的结点有( m-1 )个。 3、顺序查找方法适用于存储结构为(?顺序表和线性链表?)的线性表,使用折半查找方法的条件是(查找表为顺序存贮的有序表 ) 4、广义表A=(( ),(a,(b,c)),d)的表尾Gettail(A)为( ((a,(b,c)),d) ) 5、直接插入排序,起泡排序和快速排序三种方法中,( 快速排序 )所需的平均执行时间最小;( 快速排序 )所需附加空间最大。 二、选择(10分) 1、倒排文件的主要优点是:( C ) A、便于进行插入和删除?B、便于进行文件的合并 C、能大大提高基于非主关键字数据项的查找速度?D、易于针对主关键字的逆向检索 2 下面程序段的时间复杂性为( C ) y=0; while(n=(y+1)*(y+1)) { y++; } A、O(n) B、O(n2)?C、 O(sqrt(n))?D、 O(1) 3、若从二叉树的任一结点出发到根的路径上所经过的结点序列按其关键字有序,则该二叉树是(?C?) A、二叉排序树?B、哈夫曼树?C、堆?D、AVL树 4、栈和队列都是(?B?) A、顺序存储的线性结构?B、限制存取点的线性结构 C、链式存储的线性结构?D、限制存取点的非线性结构 5、用顺序查找方法查找长度为n的线性表时,在等概率情况下的平均查找长度为(?D?) A、n?B、n/2?C、(n-1)/2?D、(n+1)/2 三、简答(30分) 1、已知一棵二叉树的前序扫描序列和中序扫描序列分别为ABCDEFGHIJ和BCDAFEHJIG,试给出该二叉树的后序序列并绘出该二叉树对应的森林。 解: 后序序列为:DCBFJIHGEA 2、若对序列(7,3,1,8,6,2,4,5)按从小到大排序,请写出起泡排序的第一趟结果和堆排序的初始堆。 解: 冒泡:3 1 7 6 2 4 5 8 堆:8 7 4 5 6 2 1 3 3、某通讯系统只可能有A、B、C、D、E、F 6种字符,其出现的概率分别是0.1、0.4、0.04、0.16、0.19、 0.11,试画出相应的哈夫曼树,并设计哈夫曼编码。 解: 编码:A:1011?B:0?C:1010?D:110?E:111?F:100 4、在二叉平衡检索树(AVL树)的调整中,将最靠近新插入点的不平衡结点调整平衡后,树中是否还会有不平衡结点?为什么? 解: 不会再有不平衡点。因为插入结点发生不平衡现象后,会改变 以“靠近新插入点的不平衡结点”为根的子树(即最小不平横树)的高度加1, 经过调整后使最小不平衡树的整体高度又恢复到原来的值,所以不会对原平衡树 的其他部分造成危害,因此不会再有不平衡点。 5、指定Hash函数H(k)=3*k mod 11及线性探测开地址法处理冲突,试在0~10的散列空间中对关键字序列(22,41,53,46,30,13,01,67)构造Hash表,并求在等查找概率下查找成功的平均查找长度。 解: 插入元素后的分布情况: ASL = (1+1+1+1+2+2+2+6)/8=2.0 四、(10分)下图是带权的有向图G的邻接矩阵表示,请给出: 1、其邻接表存储结构 2、按Floyd算法求所有顶点对之间最短距离的矩阵变化过程。 五、(12分) 设双链表结点结构为 llink data rlink,请设计算法将其中P所指结点与其rlink所指结点位置互换的算法。 解: typedef struct DLNode{ ElemType data; struct DLNode *llink,*rlink; }DLNode,*DLinkList; //思想:将P-rlink先从链表中删除掉,然后再插入到P前 Status SwapANode(DLNode *P) { //结点存在吗? if(!P || !(P-rlink))return ERROR; q = P-rlink; //删除q结点 if(!q-rlink) P-rlink = NULL; else { P-rlink = q-rlink; q-rlink-llink = P; } //将q结点插入到P结点前面 if(!P-llink) { q-llink = NULL; q-rlink = P; P-llink = q; } else { q-llink = P-llink; q-rlink = P; P-llink-rlink = q; P-llink = q; } return

文档评论(0)

精品文档 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档