收藏 分享(赏)

数据结构-学期样卷与考研样题.pdf

上传人:精品资料 文档编号:10793396 上传时间:2020-01-09 格式:PDF 页数:18 大小:450.19KB
下载 相关 举报
数据结构-学期样卷与考研样题.pdf_第1页
第1页 / 共18页
数据结构-学期样卷与考研样题.pdf_第2页
第2页 / 共18页
数据结构-学期样卷与考研样题.pdf_第3页
第3页 / 共18页
数据结构-学期样卷与考研样题.pdf_第4页
第4页 / 共18页
数据结构-学期样卷与考研样题.pdf_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、学期样卷学期样卷一一、简答问题(15分,每小题5分)1说明在带头结点单链表L中以下三个概念的关系:头指针,头结点,首元素结点。2简述在图的遍历中,设置访问标志数组的作用。3说明具有n个结点的二叉树Bt,若采用二叉链表存储表示法,其空链域的数目,并写出求解过程。二、单项选择题(10分,每小题1分)1有一个带头结点的单链表HEAD,则判断其是否为空链表的条件是 。A HEAD=NULL B HEAD-NEXT=NULLC HEAD-NEXT=HEAD D HEAD! =NULL2若线性表最常用的操作是存取第i个元素及其前趋的值,可采用 存储方式最节省时间。A单向链表 B双向链表 C单向循环链表 D

2、顺序表3某个栈的入栈的序列为A,B,C,D,E,则可能的出栈序列是 。A ADBEC B EBCAD C BCDEA D EABCD4广义表(a,(b),(c)的表尾是 。A (c) B (c) C (c) D (b),(c)5设串s1= ABCDEFG ,s2= PQRST ,函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串s的从序号i的字符开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1,2,len(s2),subs(s1,len(s2),2)的结果串是。A BCDEF B BCDEFG C BCPQRST D BCDEFEF6一棵深度为

3、h的二叉树,其结点总数最多为。A 2h B 2h+1 C 2h-1 D 2h-17 AVL树是一种平衡的二叉排序树,树中任一结点的。A左、右子树的高度均相同B左、右子树高度差的绝对值不超过1C左子树的高度均大于右子树的高度D左子树的高度均小于右子树的高度8在关键字随机分布的前提下,用二叉排序树的方法进行查找,其平均查找长度同数量级相当。A顺序查找 B折半查找 C快速查找 D都不正确9对于一个有向图,若一个顶点的度为k1,出度为k2,则对应的邻接表中,该结点单链表中的边结点数为。A k1 B k2 C k1- k2 D k1+k210下列关键字序列中,是堆。A 16,72,31,23,94,53

4、, B 94,23,31,72,16,53C 16,53,23,94,31,72 D 16,23,53,31,94,72三、填空题(20分,每空2分)1如下程序段:for(i=1;i n-1;i+)for(j=i+1;j n;j+)x=x+1;其中语句x=x+1执行的语句频度为。2在循环单链表La (La为头指针)中,指针p所指结点为表尾结点的条件是。3在一棵度为3的树中,其中度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为个。4已知一个有向图G的邻接矩阵表示G arcsMM,要删除所有从第i个结点出发的弧,则需要做的运算是。5在待排序的元素序列基本有序的前

5、提下,效率最高的排序方法是。6当两个对顶栈共享一个存储区时,可利用一维数组stackM实现(下标从0到M-1),两个栈的栈顶指针分别为top1与top2,则栈满的条件是。7若用一个大小为6的数组来实现循环队列,且当前的rear和front的值为0和3,当从队列中删除1个元素后,front的值为,再加入2个元素后,rear的值为。8设有一个二维数组A1 12,1 10,采用以行序为主序存储,每个数据元素占有2个字节,该数组的首元素A11的地址为1200,则A6,5的地址为。9设一哈希表表长M为100 ,用除留余数法构造哈希函数,即H(K)= K%P,为使函数具有较好性能,P应选。四、构造题(25

6、分,每小题5分)1给定权值8,12,4,5,26,16,9,构造一棵带权路径长度最短的二叉树,并计算其带权路径长度。2将如下所示二叉树转换成相应的森林。3已知关键字集合(12,2,16,30,8,28,4,10,20,6,18),用快速排序从小到大排序(选第一个记录为基准进行划分),写出第一趟排序结束时的序列。4对以下关键字序列建立一个长度为10的哈希表(SUN, MON, TUE, WED, THU, FRI, SAT),哈希函数为H(K) = (K中第一个字母在字母表中的序号)%7,用线性探测法处理冲突,并计算在等概率情况下查找成功时的平均查找长度。5已知无向网如下所示,用普里姆算法给出最

7、小生成树(从结点A开始)。763学期样卷一五、算法分析题(10分)阅读下面函数段,并回答有关问题。其中BiTree为二叉链表类型,并假设二叉树root有n个结点。1简要说明程序功能。 (5分)2进队操作、出队操作和打印操作各执行了多少次? (3分)3给出算法的时间复杂度。 (2分)void procedure(BiTree root) LinkQueue Q;InitQueue (if ( ! root ) return;EnterQueue(while(! IsEmpty(Q)DeleteQueue(printf(p-data);if ( p-LChild !=NULL)EnterQueue

8、 (if ( p-RChild !=NULL)EnterQueue (六、设计题(20分,每小题10分)1已知一个带头结点的单链表La,其中存放着一组非零整数。设计算法,将La分解成两个带头结点的单链表Lb和Lc,其中Lb中存放负整数,Lc中存放正整数。 (要求Lb和Lc利用La中的结点空间)2已知一个二叉树采用二叉链表存放,写一递归算法,要求统计出二叉树中的非终端结点的数目并输出这些非终端结点。学期样卷二一、简答问题(15分,每小题5分)1简述线性表的链式存储结构的优缺点。863学期样卷2简述在一般的顺序队列中的“假溢出”问题及解决方法。3设有1 000个无序元素,仅要求找出前10个最小元素

9、,在下列排序方法中(归并排序、基数排序、快速排序、堆排序、插入排序)哪一种方法最好,为什么?二、单项选择题(10分,每小题1分)1评价一个算法性能好坏的重要标准是。A算法易于调试 B算法易于理解 C算法的正确性 D算法的时间复杂度2若某个线性表中最常用的操作是存取第i个元素及在表尾进行插入删除操作,则采用的存储方式最节省时间。A顺序表 B双向链表 C单向循环链表D双向循环链表3具有3个结点的二叉树最多可有种不同的形态。A 2 B 3 C 4 D 54已知一个有向图g具有n个顶点和e条弧,用邻接表来存储表示需要个弧结点。A n B n2 C e D 2e5已知完全二叉树的第7层有10个叶子结点,

10、则整个二叉树中结点数为。A 73 B 72 C 63 D 556已知哈希表的长度m=10,哈希函数H(key)= key%7,关键字为k的记录在定址时产生了冲突,若采用开放定址法解决冲突,则新地址的计算公式为。A (H(k)+di)/10 B (H(k)+di)/7 C (H(k)+di)%10 D (H(k)+di)%77栈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、C8一个有序表为1,3,9,12,32,41,45,62,7

11、5,77,82,95,100,当用折半查找值为9的结点时需要比较次后,查找失败。A 1 B 2 C 4 D 89在一个长度为N的数组空间中,存放着一个循环顺序队列,该队列的队头和队尾指示器分别为front和rear,则该队列中元素的个数为。A (rear-front)%N B (rear-front+N)%NC (rear- front+1)%N D (front+N)%N10如果将所有中国人按照生日(不考虑年,只考虑月、日)来排序,那么使用下列排序算法中最快的是。A基数排序B归并排序 C堆排序 D快速排序三、填空题(20分,每空2分)1在一个单链表中P所指结点后插入一个S所指结点时,应执行语

12、句和。2设高度为h的二叉树中,只有度为0和度为2的结点,则此类二叉树的结点数最少为个结点,最多有个结点。3在一个有向图的邻接矩阵表示中,第i列中1的个数等于对应顶点的度。4在简单排序(直接插入排序,冒泡排序、简单选择排序)中,是不稳定排序。5设有一个二维数组A0 8, 0 12,采用以列序为主序存储,每个数据元素占有4个字节,该数组的首963学期样卷二元素A00的地址为1000,则A5,9的地址为。6填空完成下面在中序线索树中找p结点直接前驱pre的算法。BiTNode InPre(BiTNode p) if(p-Ltag=1);else q=p-lchild;while( );pre=q;r

13、eturn ;四、构造题(25分,每小题5分)1已知数据结构DS的定义如下,请给出其逻辑结构图示。DS=(D,R)D=a,b,c,d,e,f,g R=TT=,2已知一个图的顶点为A、B、C、D,其邻接矩阵的下三角元素全为0(包括主对角线元素),其他元素均为1。请画出该图,并给出其邻接表存储结构图示。3已知关键字序列(72,87,61,23,94,16,05,58),请将其筛选为一个小根堆。4已知一个二叉树的顺序存储结构图如下:下标1 2 3 4 5 6 7 8 9 10 11 12 13 14 15结点A B C D E F G H I J(1)请画出该二叉树;(2)将其转化成等价的树或森林。

14、5已知一个递增有序的查找表中有11个数据元素,画出折半查找的判定树。五、算法分析题(10分)阅读下面程序,并回答有关问题。其中BSTree为用二叉链表表示的二叉排序树类型。1变量p、q、s的作用各是什么? (3分)2说明带下划线的语句的含义。 (4分)3简要说明程序功能。 (3分)int Proc (BSTree bst, KeyType K) BSTree p, q, s;s=(BSTree)malloc(sizeof(BSTNode);s- key=K; s- lchild=NULL; s- rchild=NULL;if ( bst =NULL ) bst=s; return 1; p=N

15、ULL; q= bst;while( q!=NULL )073学期样卷 if ( K key ) p=q; q=q - lchild; else p=q; q=q - rchild; if ( K key ) p - lchild=s;else p - rchild=s;return 1;六、设计题(20分,每小题10分)1已知一个带头结点的单链表H,在不改变链表的前提下,设计一个尽可能有效的算法,查找倒数第k个位置上的结点。若查找成功,算法输出该结点的值,并返回1;否则返回0。2设二叉树按照二叉链表方式存储,编写算法判别一棵二叉树是否是一棵正则二叉树。正则二叉树是指:在二叉树中不存在子树个数

16、为1的结点。学期样卷三一、简答问题(15分,每小题5分)1请写出数据结构的形式化定义,分别说明两个构成要素的含义。2使用折半查找的两个前提条件是什么?3排序算法的稳定性。举例说明某个排序算法是不稳定的。二、单项选择题(10分,每小题1分)1排序时扫描待排序记录序列,顺次比较相邻的两个元素的大小,逆序时就交换位置。这是方法的基本思想。A堆排序 B直接插入排序 C快速排序 D冒泡排序2下列说法不正确的是。A图的邻接矩阵存储表示方法中,邻接矩阵的大小与图中的边数成正比B无向图G中有n个顶点,边数少于n-1条,则该无向图一定是非连通图C无向图的邻接矩阵一定是对称矩阵D有向图中所有顶点的入度之和与所有顶

17、点的出度之和相等3有一个含头结点的双向循环链表,头指针为head,则其为空的条件是。A head-prior=NULL B head-next=NULLC head-next=head D head-next- prior=NULL4在顺序表( 3, 6, 8, 10, 12, 15, 16, 18, 21, 25, 30 )中,用折半法查找关键码值11,所需的关键码比较次数为。A 2 B 3 C 4 D 55假设以数组AM存放循环队列的元素,若队头和队尾指针分别为front和rear,则该队列的判空的条件是。A (rear-1)%M=front B (rear+1)%M=front173学期

18、样卷三C (front+1)%M=rear D (front-1)%M=rear6在一个图中,所有顶点的度数之和等于图的边数之和的倍。A 1/2 B 1 C 2 D 47已知一个带头结点的非空循环单链表,其尾指针是R,则其首元素结点的地址为。A R-next B ( R-next-next )C ;R=S;。2 n个顶点的连通无向图至少有条边,最多有条边。3有m个叶子结点的哈夫曼树所具有的结点总数为。4在所有的排序方法中,关键字比较次数与记录的初始排列次序无关的是。5在一个88的下三角矩阵A采用行序为主序进行压缩存储,已知首元素A11的地址为s,每个元素占4个字节,则A54的存储地址为。6填空

19、完成下面一趟快速排序算法:int QKPass ( RecordType r , int low, int high) x=r low ;while ( low =x key ) high -;if ( low 1)个整数存放到一维数组R中。设计一个在时间和空间两方面尽可能高效的算法。将R中的序列循环左移P(0Pn)个位置,即将R中的数据由(X0,X1, ,Xn-1)变换为(Xp,Xp-1, ,Xn-1,X0,X1, ,Xp-1)要求:(1)给出算法的基本设计思想。(2)根据设计思想,采用C或C+或Java语言描述算法,关键之处给出注释。(3)说明你所设计算法的时间复杂度和空间复杂度。2009

20、年全国硕士研究生入学统一考试数据结构试题一、单项选择题(每小题2分)1为解决计算机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是。A栈 B队列 C树 D图2设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,f,g依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是。A 1 B 2 C 3 D 43给定二叉树如下所示。设N代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。若遍历后的结点序列为3,7,5,6,1,2

21、,4,则其遍历方式是。A LRN B NRL C RLN D RNL4下列二叉排序树中,满足平衡二叉树定义的是。A B C D7732009年全国硕士研究生入学统一考试数据结构试题5已知一棵完全二叉树的第六层(设根为第一层)有八个叶结点,则完全二叉树的结点个数最多是。A 39 B 52 C 111 D 1196将森林转换为对应的二叉树,若在二叉树中,结点u是结点v的父结点的父结点,则在原来的森林中,u和v可能具有的关系是。父子关系 兄弟关系 u的父结点与v的父结点是兄弟关系A只有 B 和 C 和 D , ,7下列关于无向连通图特性的叙述中,正确的是。所有顶点的度之和为偶数。边数大于顶点个数减1

22、。至少有一个顶点的度为1。A只有 B只有 C 和 D 和8下列叙述中,不符合m阶B树定义要求的是。A根节点最多有m棵子树 B所有叶结点都在同一层上C各结点内关键字均升序或降序排列 D叶结点之间通过指针链接9已知关键序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后得到的小根堆是。A 3,5,12,8,28,20,15,22,19 B 3,5,12,19,20,15,22,8,28C 3,8,12,5,20,15,22,28,19 D 3,12,5,8,28,20,15,22,1910若数据元素序列11,12,13,7,8,9,23,4,5是采用下列排序方法之

23、一得到的第二趟排序后的结果,则该排序算法只能是。A起泡排序 B插入排序 C选择排序 D二路归并排序二、综合应用题1 (10分)带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。假定从初始顶点到目标顶点之间存在路径,现有一种解决该问题的方法:(1)设最短路径初始时仅包含初始顶点,令当前顶点u为初始顶点;(2)选择离u最近且尚未在最短路径中的一个顶点v,加入到最短路径中,修改当前顶点u=v;(3)重复步骤 ,直到u是目标顶点时为止。请问上述方法能否求得最短路径?若该方法可行,请证明之;否则,请举例说明。2 (15分)已知一个带有表头结点的单链

24、表,结点结构为data link假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data值,并返回1;否则,只返回0。要求:(1)描述算法的基本设计思想。(2)描述算法的详细实现步骤。(3)根据设计思想和实现步骤,采用程序设计语言描述算法(使用C或C+或Java语言实现),关键之处请给出简要注释。873硕士研究生入学考试样题工程硕士学位研究生模拟试题一、简答问题(每小题6分,共30分)1给出四类数据结构名称及其关系图示。2为什么说数组和广义表是线性表的推广?3算法的定义与特性是什么?

25、4给出数据类型与抽象数据类型。5说明图遍历算法中设置访问标志数组的作用。二、方法选择(每小题10分,共20分)1快速排序方法的最坏最好情况是什么,简要分析说明理由。2二叉排序树中结点各不相同,欲得到一个由大到小的结点值递减序列,你认为应当采用什么方法,便可得到要求结果,简述原因。三、构造结果(每小题8分,共40分)1给定叶结点权值(2,3,5,6,9,11),构造哈夫曼树,并计算其带权路径长度。参考答案:WPL=872已知一二叉树中序序列为BDCAEF,前序序列为ABCDEF,给出其对应的二叉树。参考答案:3已知二维数组AMN采用行序为主方式存储,每个元素占K个存储单元,已知A11(设起始下标

26、为1)的存储地址是1000,给出Ai,j的存储地址算式。973工程硕士学位研究生模拟试题4在地址空间0 12的散列区中,对以下关键字序列(Jan,Feb,May,Jun,Jul,Aug,Sep,Oct)建哈希表,设哈希函数为H(X)= i/2,其中i为关键字中的第一个字母在字母表中的序号,处理冲突可选用线性探测法或链地址法之一,要求构造哈希表,并求出在等概率的情况下查找成功与不成功的平均查找长度。参考答案:线性探测:0 1 2 3 4 5 6 7 8 9 10 11 12Apr Aug Feb Jan May Jun Jul Sep Oct1 2 1 1 1 3 4 1 4ASLsucc =(

27、15+2+3+42) /9=18/9=2ASLnusucc =(3+2+1+2+1+7+6+5+4+3+2+1+1) /13=38/13链地址法:ASLsucc =(61+22 +3) /9=13/9ASLnusucc =(71+42+13+14) /13=22/135给出求N阶hanoi塔的函数定义如下:hanoi (int n, char x, char y, chae z)if (n=1) move (x,l,z)else hanoi (n-1,x,z,y);move (x,n,z);hanoi(n-1,y,x,z)请写出执行hanoi(3,a,b,c)时递归函数的实在参量变化及move

28、的搬动过程。083硕士研究生入学考试样题参考答案:参见本书第3 3节。四、编写算法(每小题15分,共30分)1编写建立二叉树算法,要求二叉树按照二叉链表方式存储。2已知二叉树采用二叉链表存储,要求编写算法,完成计算出二叉树中度为0、度为1的结点数目。五、编写程序(15分)要求实现如下功能:1键盘输入N个有序整数,建立数组存储;2输入关键字key,完成折半查找的功能。六、编写算法(15分)已知二叉树采用二叉链表存储,编写算法实现按层次遍历二叉树。183工程硕士学位研究生模拟试题附录三 光盘目录一、多媒体课件(Flash制作的动画课件)二、选学内容(1)模式匹配一种改进算法 KMP算法(2)树的计

29、数(3)第10章 外部排序三、 C语言实现算法模板示例四、各章算法源程序代码和头文件五、课程设计与课程实习指导参考文献1教育部高等学校计算机科学与技术教学指导委员会高等学校计算机科学与技术专业核心课程教学实施方案M北京:高等教育出版社,20092 全国硕士研究生入学统一考试计算机专业基础综合考试大纲解析编写组 2011计算机考研大纲解析M北京:高等教育出版社,20103严蔚敏数据结构(C语言版)M北京:清华大学出版社,20024严蔚敏,吴伟民数据结构题集M北京:清华大学出版社,19995耿国华数据结构 C语言描述M北京:高等教育出版社,20056耿国华等数据结构M 2版西安:西安电子科技大学出

30、版社,20087张铭数据结构与算法M北京:高等教育出版社,20088齐德昱数据结构与算法M北京:清华大学出版社,20039张选平,雷咏梅数据结构M北京:机械工业出版社,200210廖明宏数据结构与算法M 4版高等教育出版社,200711朱战立数据结构M西安:西安电子科技大学出版社,200312 CLIFFORD A A practical introduction to data structures and algorithms analysisM S l :Prentice Hall Inc,199713殷人昆数据结构(用面向对象方法与C+描述)M 2版北京:清华大学出版社,2007 14 WILLIAM F,WILLIAM T数据结构C+语言描述(英文版)北京:清华大学出版社,S l :Prentice Hall,199715 ROBERT L,ALEXANDER J Data structures and program design in C +M S l :Prentice Hall,199916胡学钢数据结构(C语言版)M北京:高等教育出版社,2008

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报