20202007软院数据结构期终考题.docVIP

  • 23
  • 0
  • 约1.93千字
  • 约 3页
  • 2020-12-08 发布于四川
  • 举报
PAGE 考试科目名称数据结构(A卷) 考试方式:开卷  闭卷  考试日期   年 月 日 教师 陈珮珮 系(专业) 计算机     年级 二年级(07级)    班级     学号            姓名          成绩      题号 一 二 三 四 五 六 七 八 九 十 分数 得分 1.算法分析题(10分) 利用大“O”记号将下列函数在最坏情况下运行时间表示为n的函数(要求给出推导过程) voidmystery(intn) {for(inti=1;i=n-1;i++) for(intj=i+1;j=n;j++) for(intk=1;k=j;k++) {SomestatementrequiringO(1)time} } 答: 得分 2.(20分,每题5分) 深度为k(设根结点为1层)的二叉树上,只有度为0和度为2的结点, 则这类二叉树上所含结点总数最少为个。至多为个。 2)设有序顺序表中的元素依次为017,094,154,170,275,503,509,512,553,612,677,765,897,908.试画出对其进行折半搜索时的判定树,并计算搜索成功的平均搜索长度。 答: 3)设有一字符串P=”3*y-a/y↑2”,试写出利用栈将P改为”3y*ay2↑/-”的操作步骤。(请用X代表扫描该字符串过程中顺序取一字符进栈的操作,用S代表从栈中取出一字符加入到新字符串尾的出栈操作。例如,要使”ABC”变为”BCA”,则操作步骤为XXSXSS)。 答: 4)设W为一个二维数组,其每个数据元素占用6个字节,行下标i从0到8,列下标j从0到3,则二维数组W的数据元素共占用______个字节。W中第6行的元素和第4列的元素共占用______个字节。若按行主顺序存放二维数组W,其起始地址为100,则二维数组W的最后一个数据元素的起始地址为______。 得分 3.(10分) 对下列无向图,按照Dijkstra算法,写出从顶点1到其它各个顶点的最短路径和最短路径长度。(顺序不能颠倒) 1058 10 5 8 6 9 11 7 246 答: 得分 4.(10分) 设散列表HT[13],散列函数为H(key)=key%13,用闭散列法解决冲突,对关键码序列{12,23,45,57,20,03,78,31,15,36}构造散列表,用线性探查法寻找下一个空位,画出散列表,并计算等概率下搜索成功的平均搜索长度ASLsucc。 答: 得分 5.(10分) 对关键码序列{23,17,12,61,26,8,70,75,53},用堆排序方法进行排序,画出排序过程中所建的初始堆,以及输出前三个关键码过程的示意图。(要求建立的堆为任一父母结点的关键码都小于其子女结点的关键码) 得分 (10分) 下列各图都是AVL树(平衡二叉树),请按指定的关键码插入,分别画出插入后的AVL树(平衡二叉树)。 15 25插入56 792036 51850 MAR AUGMAY插入FEB , (按字母顺序) APRJANNOV DECJULY 得分 7.(10分) 请画出往下图的5阶B-树中插入一个关键码390后得到的B-树,以及再删除关键码100后得到的B-树。 100200300400 2040150180240260310320350370420430 答: 得分 8.(10分) 以下算法是用无表头结点的循环链表解Josephus(约瑟夫)问题,请在下划线部分填上正确的语句。 no link其中:n表示有n个人参加该游戏; no link m表示每次报的数; 链表的结点(ListNode))表示为no表示人的编号 rear一开始指向循环链表的尾结点。 ListNodeJosephus(intn,intm) {intw=m; ListNodehead,p; for(inti=1;i=n-1;i++) {for(intj=1;j=w-1;j++) 1; if(i==1) {head=rear.link;p=head;} else {p.link=rear.link;p=rear.link;} 2; } 3; rear.link=NULL; returnhead; } 得分 9.(10分) 给定一棵二叉树t,其根指针为root,结点结构为:leftdataright left,right分别指向该结点的左、右子树,假设data域为int型。试用Java或C++语言写一个程序:给出该二叉树的类定义(仅写出必要的成员变量和成员函数),并写出判别该二叉树是否是二叉搜索树的算法。 答:

文档评论(0)

1亿VIP精品文档

相关文档