计算机科学与技术专业数据结构试题 下载答案.doc

计算机科学与技术专业数据结构试题 下载答案.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机科学与技术专业数据结构试题        下载答案 总共:15题,共100.0分 一、单选 (共8小题,24.0分) 1.向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动______个元素。(3分) A.8       B.63.5 C.63       D.7 2.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,则A[4][5]在( )位置,(10)表明用10进数表示。(3.0分) A.672(10)        B.626(10) C.709(10)        D.724(10) 3.一个有序顺序表有255个对象,采用顺序搜索法查表,平均搜索长度为________。(3.0分) A.128      B.127 C.126      D.255 4.含5个结点(元素值均不相同)的二叉顺序搜索法查表,平均搜索长度为_______。(3.0分) A.54      B.42 C.36      D.65 5.在分析折半搜索的性能时常加入失败结点,即外结点,从而形成扩充的二叉树。若设失败结点i所在层次为Ii,那么搜索失败到达失败所做的数据比较次数是__________。(3.0分) A.Ii+1     B.Ii+2 C.Ii-1     D.Ii 6.设有一个含200个表项的散列表,用线性探查法解决冲突,按关键码查询时找到一个表项的平均控查次数不超过1.5,则歼列存储空间应容纳________个表项。(设搜索成功的平均搜索长度为sm=(1+1/(1-α))/2,其中α为装填因子) A.400     B.526 C.624     D.676 7.n个顶点的连通图至少有______条边。(3.0分) A.n-1    B.n C.n+1    D.0 8.一个二叉树按顺序方式存储在一个一维数组中,如图 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 A B C D E F G H I J 二、简答(共4小题,46.0分) 1.如下所示的连通图,请画出: (1)以顶点①为根的深度优先生成树; (2)如果有关节点,请找出所有的关节点。 2.设有13个初始归并段,其长度分别为28,16,37,42,5,9,13,14,20,17,30,12,18。试画出4路归并时的最佳归并树,并计算它路径长度WPL。(12.0分) 3.设散列表HT[0..12],,即表的大小为m=13。采用双散列法解决冲突。散列函数和再散列函数分别为:H0(Key)=Key%13 注:%是求余数运算(=mod) Hi=(Hi-1+Rev(key+1)%11+1)%13 i=1,2,3,...m-1 其中,函数REV(x)表示颠倒10进制数x的各位,如REV(37)=37,REV(7)=7等。若插入的关键码序列为{2,8,31,20,19,53,27},画出插入这8个关键码后的散列表。  0  1  2  3  4  5  6  7  8  9  10  11  12 ? ? ? ? ? ? ? ? ? ? ? ? ? 4.已知一棵二叉树如下,请分别写出按前序、中序、后序和层次遍历时得到的结点序列。 三、计算(共1小题,10.0分) 1.有一种简单的排序算法,叫做计数排序(count sorting)。这种排序算法对一个待排序的表(用数组表示)进行排序,并将排序结果放入一个新的表中。必须注意的是,表中所有待排序的关键码互不相同。计数排序算法针对表中的第个记录,投其所好待排序的表一趟,统计表中多少个记录的关键码比该记录的关键小。假设针对某一个记录,统计出的计数值为C,那么,这个记录在新的有序表中的合适的存放位置即: (1)给出适用于计数排序的数据表定义;(4分) (2) 使用C++语言编写实现计数排序的算法;(4分) (3)对于有n个记录的表,关键码比较次数是多少?(2分) 四、其它(共2小题,20.0分) 1.int unknown (BinTreeNode * t) {   //指针t是二叉树的根指针   if (t==NULL) return 0;   elseif (t→leftChild)==NULLt→rightChild==NULL) return 1;      else return unknown (t→leftChilk)+unknown(t→rightChild); }(10.0分) 2.下面给出的是一个在二叉树中查找值为x的结点,并打印该结点所有祖先结点的算法。在此算法中,假设值为X的结点不多于一个。此算法排序的非递归遍历形式。因退栈时需要区分其左、右子树是否已经遍历,故在结点进栈时附带有一个标

文档评论(0)

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

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

1亿VIP精品文档

相关文档