山东大学计算机学院数据结构真题.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  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文档。上传文档
查看更多
山东大学计算机学院数据结构真题

2012年山东大学计算机学院数据结构真题 共13大题150分 1、分析下列函数,描述函数功能,并求函数的时间复杂度。 S=0 For (int i=1;i=n;i++) ? ?{ ? ???Int p=1; ? ???For (int j=1;j=I;j++) ? ?? ? P*=j: ? ???S+=p; ? ?} 2、对于含有n个元素的有序数组,查找各个元素的概率相等,采取折半查找时,最少要比较多少次,最多要比较多少次,平均要比较多少次。当n个元素无序时,采取折半查找,最多需要多少次,最少需要多少次。 3、描述栈与队列的相同点和不同点。 4、二叉树,先序遍历得到abdfceg,中序遍历得到fdbaceg,该二叉树的叶节点是什么。 5、有5000个无序元素,公式化描述(数组),要求最快速度选取最大的10个元素,请问,在快速排序,堆排序,基数排序,归并排序四种方法中,采取哪种方法最好,为什么? 6、构建散列表,散列函数为hashf(k)=k%11.已知关键字序列为(8,15,27,2,13,31,19)(具体数字记不清了,我写的数字性质是一样的),请画图表示采取线性开放式寻址和链表地址法存贮。 7、(1)如果G1是一个具有n个顶点的连通无向图,那么G1最多有多少条边,最少有多少条边? ??(2)如果G2是一个具有n个顶点的强连通有向图,那么G2最多有多少条边,最少有多少条边? 8、在一篇电码中,由abcde字母组成,其分别出现的次数为4,8,25,37,6(具体数字记不清了,我写的数字性质是一样的)。构造huffman树,给出各个字母的huffman编码,该篇电码的总电码数是多少。 9、有一图,顶点为v1,v2,v3,v4,v5,边的集合为(v2,v1),(v5,v3),(v1,v4)(v3,v2),(v1,v3),(v3,v4),(v4,v5),画出该图,该图是强连通有向图吗? 10、有一函数fun的功能是将字符串中每个单词的最后一个字母改成大写,例如I am a student to exam.改成I aM A studenT tO exaM.请将该函数补全。 Void fun(char *P) { Int k=0; For (;p;p++) ? ?If (k=1) { If (*p= =‘??’ ) ? ?? ? { ? ?? ?? ?【1】; 【2】=upper(*(p-1)); } ? ???} Else ? ???K=1; } 11、编写算法,求出二叉树中节点的度数为1的个数,并以n返回。(要求不能使用递归),写出算法思想,并写出程序。 12、编写程序,给一正整数m,求出在1至m之间(包括m)中,能够被11或7整除的数字,保存在数组a中,函数返回在1至m之间(包括m)中,能够被11或7整除的数字的个数,例如m为,30,则将(7,11,14,22,21,28)保存在数组a中,函数返回5. 13、有向图和无向图,分别采取邻接矩阵和邻接链表的方法存储。 (1)怎样求出图中的边的数目? (2)怎样判断在顶点i,j之间是否存在边? (3)怎样计算顶点i的度?山东大学07计算机真题(回忆整理)1.(8分) (1)for(int i=1;i=n;i++) {int p=1; for(int j=1;j=I;j++) p*=j; s+=p; } 描述功能,并分析时间复杂度。 (2)对于1个n元素顺序表,用折半查找,成功查找时,最大最小比较次数各是多少? 2.(8分) n阶三对角矩阵A,按行保存到一个数组B中,其中A[1][1]存入B[0],问: (1)B中有多少元素 (2)用i,j表示矩阵元素在B中的索引k (3)用k表示i,j 3.(10分)(1).一个中缀表达式为3*y-a/y↑2,求其后缀表达式 (2)描述堆栈在处理后缀表达式中的作用 (3)对于(1)中后缀式写出栈的变化 ] 4.(12分) 写出用数组实现字符串类String的类定义,并实现IsSym函数。其中IsSym表示该字符串是中心对称的,例如xyzzyx,xyzyx,若是返回true,否则返回false 5.(12分)写出单链表类chain的类定义,并实现BubbleSort函数,不能创建新节点,也不能删除旧节点,其他函数省略。BubbleSort表示将原链表按非递减顺序冒泡排序。 6.(10分) 一个二叉搜索树,设任一条从根到叶子的路径包含的节点集合为S2,这条路经所有左边的点的集合为S1,右边所有点集合为S3 ,设a,b,c分别为S1,S2,S3中的任意元素,是否有abc?为什么? 7.(20分)(1)写出最小堆的类声明。 (2)写出用最小堆实现Huffman编码的思想,并给出算法。 8.(10分) 一个8key值的3阶B树最多有多少节点?最少有多少?并画出图表

文档评论(0)

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

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档