ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:59.50KB ,
资源ID:10990515      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10990515.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构导论模拟试题.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构导论模拟试题.docx

1、数据结构导论模拟试题一、单项选择题1. 1. 若某线性表中最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用_(3)_存储方式最节省运算时间。(1)单链表 (2)双链表(3) 容量足够大的顺序表 (4)带头结点的双循环链表2. 若某线性表中最常用的操作是取第I 个元素的前驱元素,则采用_(3)_存储方式最节省运算时间。(1)单链表 (2)双链表(3)顺序表 (4)带头结点的双循环链表将一棵有100个结点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点的编号为1,则编号为49的结点的左孩子编号为(_A_)。 A98 B.99 C.50 D.48一个具有n

2、个顶点的无向完全图的边数为(B)。An(n+1)/2 Bn(n-1)/2 C n(n-1) Dn(n+1)折半查找要求查找表中各元素的关键字值必须是_A_排列。 A.递增或递减 B.递增 C.递减 D.无序栈操作的原则是 B 。A. 先进先出 B.后进先出 C.只能进行插入 D. 只能进行删除3. 2. 设一个栈的输入序列为A,B,C,D,则借助一个栈所得的输出序列不可能是_(4)_。(1)A,B,C,D (2)D,C,B,A (3)A,C,D,B (4)D,A,B,C将下三角矩阵A1.10,1.10的所有非0 元素以行序为主序存放在首地址为2000的存储区中,每个元素占有4个单元,则元素A9

3、,5的首地址为(D)A2340 B2336 C2164 D21604. 3. 串是_(4)_。(1) (1) 不少于一个字母的序列 (2)任意个字母的序列(2) (2) 不少于一个字符的序列 (4)有限个字符的序列5. 4. 链表不具有的特点是_A_.(1)可随机访问任一元素 (2)插入删除不需要移动元素(3)不必事先估计存储空间 (4)所需空间与线性表长度成正比6. 5. 在有n个结点的哈夫曼树中,其结点总数为_4_。(1) (1) 不确定 (2)2n (3)2n+1 (4)2n-17. 6. 任何一个无向连通图的最小生成树_B_。(1) (1) 只有一棵 (2)有一棵或多棵 (3)一定有多

4、棵 (4)可能不存在8. 7. 将一棵有100个结点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点的编号为1,则编号为49的结点的左孩子编号为_1_。(1)98 (2)99 (3)50 (4)489. 将一棵有100个结点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点的编号为1,则编号为49的结点的右孩子编号为_2_。(1)98 (2)99 (3)50 (4)4810. 将一棵有100个结点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点的编号为1,则编号为49的结点的双亲编号为_2_。(1)23 (2)24 (3)25 (

5、4)无法确定设计一个判别表达式中左右括号是否配对出现的算法,采用(B)数据结构最佳。A线性表的顺序存储结构 B栈 C队列 D线性表的链式存储结构11. 8. 下列序列中,_A_是执行第一趟快速排序后得到的序列(排序的关键字类型是字符串)。(1)da,ax,eb,de,bbffha,gc (2)cd,eb,ax,daffha,gc,bb(3)gc,ax,eb,cd,bbffda,ha (4)ax,bb,cd,daffeb,gc,ha12. 9. 用n个键值构造一棵二叉排序树,最低高度为_D_。(1)n/2 (2)n1/2 (3)NLOG2N (4)LOG2N+113. 10. 折半查找要求查找表

6、中各元素的关键字值必须是_1_排列。(1) (1) 递增或递减 (2)递增 (3)递减 (4)无序14. 11. 对于关键字值序列(12,13,11,18,60,15,7,18,25,100),用筛选法建堆,必须从关键字值为_3_的结点开始。(1)100 (2)12 (3)60 (4)15快速排序的记录移动次数(C)比较次数,其总执行时间为0(NLOG2N)A大于 B大于等于 C小于等于 D小于3个结点可构成(D)个不同形态的二叉树。A2 B3 C4 D5对有n个记录的有序表采用二分查找,其平均查找长度的量级为(A)AO(LOG2N) BO(NLOG2N) CO(N) DO(N2)对有n个记录

7、的表按记录键值有序的顺序建立二叉排序树,在这种情况下,其平均查找长度的量级为(C)AO(LOG2N) BO(NLOG2N) CO(N) DO(N2)设矩阵A1.8,1.8是一对称矩阵,若每个矩阵元素占3个单元,将其上三角部分按行序为主序存放在数组B中,B的首址为1000,则矩阵元素A6,7的地址为(B)A1031 B1093 C1096 D1032 链表适用于顺序查找,但在链表中进行(D)操作的效率比在顺序存储结构中进行同样操作的效率高。A顺序查找 B二分法查找 C快速查找 D插入散列法中的冲突指的是(C)。A两个元素具有相同的序号 B两个元素的键值不同,而其它属性相同 C不同键值的元素对应于

8、相同的存储地址 D数据元素过多如果以链表作为栈的存储结构,则退栈操作时(C)A必须判断栈是否满 B对栈不作任何判断 C必须判断栈是否空 D判断栈元素的类型 设数组A0.M作为循环队列SQ的存储空间,front 为队头指针,rear为对尾指针,则执行出队操作的语句为(D)Afront=front+1 Bfront=(front+1)%m Crear=rear+1 Drear=(rear+1)%m深度为6的二叉树至多有(D)个结点A64 B32 C31 D63设高度为k的二叉树上只有度为0和2的结点,则此类二叉树中所含的结点数至少为(C)AK+1 B2K C2K-1 D2K+1堆的存储表示(A)A

9、顺序存储 B.静态链接存储 C.动态链接存储 D.不一定 若二叉树采用二叉链表存储结构,要交换其所有分支结点左右子树的位置,利用( A )遍历方法最合适。A前序 B中序 C后序 D按层次利用逐点插入法建立序列(50,72,43,85,75,20,35,45,65,30)对应的二叉排序树以后,查找元素35要进行( A )元素间的比较。A4次 B5次 C. 7次 D10次下面给出的四种排序法中( D )排序法是不稳定性排序法。 A插入 B冒泡 C二路归并 D堆积下面 B 方法可以判断出一个有向图中是否有环(回路)? A. 深度优先遍历 B.拓朴排序 C.求最短路径 D.求关键路径1.若结点的存储地

10、址与其关键字之间存在某种映射关系,则称这种存储结构为( D ) A.顺序存储结构 B.链式存储结构 C.索引存储结构 D.散列存储结构 2.在长度为n的顺序表的第i(1in+1)个位置上插入一个元素,元素的移动次数为( A ) A.n-i+1 B.n-i C.i D.i-1 3.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( C ) A.顺序表 B.用头指针表示的单循环链表 C.用尾指针表示的单循环链表 D.单链表 4.若进栈序列为a,b,c,则通过入出栈操作可能得到的a,b,c的不同排列个数为( ) A.4 B.5 C.6 D.7 5.为查找某一特定单词在文本中出现的位置,

11、可应用的串运算是( D ) A.插入 B.删除 C.串联接 D.子串定位 6.已知函数Sub(s,i,j)的功能是返回串s中从第i个字符起长度为j的子串,函数Scopy(s,t)的功能为复制串t到s。若字符串S=SCIENCESTUDY,则调用函数Scopy(P,Sub(S,1,7)后得到( A ) A.P=SCIENCE B.P=STUDY C.S=SCIENCE D.S=STUDY 7.三维数组A456按行优先存储方法存储在内存中,若每个元素占2个存储单元,且数组中第一个元素的存储地址为120,则元素A45的存储地址为( ) A.356 B.358 C.360 D.362 8.如右图所示广

12、义表是一种( C ) A.线性表 B.纯表 C.结点共享表 D.递归表 9.下列陈述中正确的是( D ) A.二叉树是度为2的有序树 B.二叉树中结点只有一个孩子时无左右之分 C.二叉树中必有度为2的结点 D.二叉树中最多只有两棵子树,并且有左右之分 10.n个顶点的有向完全图中含有向边的数目最多为( D ) A.n-1 B.n C.n(n-1)/2 D.n(n-1) 11.已知一个有向图如右所示,则从顶点a出发进行深度优先偏历,不可能得到的DFS序列为( A ) A.a d b e f c B.a d c e f b C.a d c b f e D.a d e f c b 12.在最好和最坏

13、情况下的时间复杂度均为O(nlogn)且稳定的排序方法是( C ) A.快速排序 B.堆排序 C.归并排序 D.基数排序 13.不可能生成右图所示二叉排序树的关键字序列是( A ) A.4 5 3 1 2 B.4 2 5 3 1 C.4 5 2 1 3 D.4 2 3 1 5 14.ALV树是一种平衡的二叉排序树,树中任一结点的( B ) A.左、右子树的高度均相同 B.左、右子树高度差的绝对值不超过1 C.左子树的高度均大于右子树的高度 D.左子树的高度均小于右子树的高度 15.在VSAM文件的控制区间中,记录的存储方式为( ) A.无序顺序 B.有序顺序 B. C.无序链接 D.有序链接二

14、、 二、判断题1.( )串长度是指串中不同字符的个数。2.( )数组可以看成是线性结构的一种推广,因此可以对它进行插入、删除等运算。3.( )在顺序表中取出第i个元素所花费的时间与i成正比。4. ( )在栈满的情况下不能作进栈的运算,否则产生“上溢”。5.( )二路归并排序的核心操作是将两个有序序列归并为一个有序序列。6.( )对任意一个图,从它的某个顶点出发进行一次深度优先或广度优先搜索遍历可访问到该图的每个顶点。7.( )一个有向图的邻接表和逆邻接表中的结点个数一定相等。8( )在索引顺序表上实现分块查找,在等概率查找情况下,其平均查找长度不仅与表的个数有关,而且与每一块中的元素个数有关。

15、9.( )二叉排序树或者是一棵空树,或者 是具有下列性质的二叉树:若它的左子树非空,则根结点的值大于其左孩子的值;若它的右子树非空,则根结点的值小于其右孩子的值。10.( )在执行某个排序算法过程中,出现了排序码朝着最终排序序列位置相反方向移动,则该算法是不稳定的。二、判断题(判断下列各题是否正确,若正确在括号内打“”,错误的打; 1如果两个串含有相同的字符,则这两个串相等。(N) 2数组可以看成线性结构的一种推广,因此可以对它进行插入、删除等运算。( N), 3在索引顺序表上实现分块查找,在等概率查找情况下,其平均查找长度不仅与表中元素个数有关,而且与每块元素个数有关。(Y)4在顺序表中取出

16、第i个元素所花费的时间与i成正比。(N) 5在栈满情况下不能作进栈运算,否则产生“上溢”。(Y) 6二路归并排序的核心操作是将两个有序序列归并为一个有序序列,(Y) 7对任意一个图,从它的某个顶点出发,进行一次深度优先或广度优先搜索,即可访问图的每个顶点。(N)8二叉排序树或是一棵空二叉树,或是具有下列性质的二叉树;若它的左子树非空,则根结点的值大于其左孩子的值;若它的右子树非空,则根结点的值小于其右孩子的值。(N)9在执行某个排序算法过程中,出现了排序码朝着最终排序序列位置相反方向移动,则该算法是不稳定的(N)。10一个有向图的邻接表和逆邻接表中表结点的个数一定相等(Y)(101,88,46

17、,70,34,39,45,58,66,10)是堆(Y); 将一棵树转换成二叉树后,根结点没有左子树(N); 用二叉树的前序遍历和中序遍历可以导出树的后序遍历(Y); 即使对不含相同元素的同一输入序列进行两组不同的、合法的入栈和出栈组合操作,所得的输出序列也一定相同(N); 哈夫曼树是带权路径长度最短的二叉树,路径上权值较大的结点离很较近(Y)。11、表示一个有1000个顶点、1000条边的有向图的邻接矩阵有1000000个矩阵元素,是否稀疏矩阵 是 三、填空题1. 在带有头结点的单链表L中,第一个元素结点的指针是_L-next_。2. 在双循环链表中,在指针p所指结点前插入指针s所指的结点,需

18、执行下列语句:s-next=p; s-prior=p-prior; p-prior=s; _s-prior-next_=s;3. 设s1.maxsize为一个顺序存储的栈,变量top指示栈顶位置,栈为空的条件是_top=0_,栈为满的条件是_top=maxsize_。4. 具有100个结点的完全二叉树的深度为_7_。5. 有向图G用邻接矩阵A1.n,1.n存储,其第i行的所有元素之和等于顶点i的_出度_。 二、填空题(每空2分,共28分)1设r指向单链表的最后一个结点,要在最后一个结点之后插入e所指的结点,需执行的三条语句是r-next=s; r=s;rnext=NULL。 2在单链表中,指针

19、p所指结点为最后一个结点的条件是p-next=null3设一个链栈的栈顶指针是ls,栈中结点格式为info;link;栈空的条件是 ls=null。如果栈不为空,则退栈操作为p=ls; ls=ls-link;free(p)。4已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该树中有12个叶子结点。5树有三种常用的存储结构,即孩子链表法,孩子兄弟链表法和 双亲表示法。6n个顶点的连通图的生成树有n-1条边。7一个有向图G中若有弧、和,则在图G的拓扑序列中,顶点vi,vj vk的相对位置为i,j,k8设表中元素的初始状态是按键值递增的,分别用堆排序、快速排序、冒泡排序和

20、归并排序 方法对其进行排序(按递增顺序):冒泡最省时间,快速最费时间。9。下面是将键值为x的结点插入到二叉排序树中的算法,请在划线处填上适当的内容。 typedef struct pnode int key; struct node *left,*right;void searchinsert(int x;pnode t)/*t为二叉排序树根结点的指针*/if (t=null) p=malloc(size);p-key=x;p-left=null;p-right=null;t=p; else if (xkey) searchinsert(x,t-left) else searchinsert(

21、x,t-right)线性表的循环链表的主要优点是从表中任一结点出发都能访问到所有的结点。而使用双向链表,可根据需要在前后两个方向上方便地进行查找。1在带有头结点的单链表L中,则需执行下列三条语句:u=L-next ;Lnext=u-next;free(u);2有一个长度为20的有序表采用二分查找方法进行查找,共有4 个元素的查找长度为3。 3采用冒泡排序对有n个记录的表A按键值递增排序;若L的初始状态是按键值递增,则排序过程中记录的比较次数为n-1。若A初始状态为递减排列,则记录的交换次数为n(n-1)/2 4.在无头结点的双链表中,指针p所指结点是第一结点的条件是p-prior=null.

22、5G为无向图,如果从q的某个顶点出发,进行一次广度优先搜索,即可访问图的每个顶点,则该图一定是连通图。6如果一个有向图中没有环,则该图的全部结点可以排成一个拓扑序列。7深度为8(根的层次号为1)的满二叉树有8 个叶子结点。8将一棵有100个结点的完全二叉树按层编号,则编号为49的结,其双亲PARENT(X) 的编号为 24 。9设有一个链队,结点结构为data;next;front为队头指针,rear为队尾指针,当执行入队操作时需执行下列语句:malloc(p);p-data=x;p-next=null;rear-next=p;rear=p;10.在散列法中,元素个数 越多,发生冲突的可能性越

23、大。1在带有头结点的单链表L中,第一个元素结点的指针是 L-next。2在顺序文件中,存取第i个记录,必须先存取 第I-1号元素。3设s1.maxsize为一个顺序存储的栈,变量top指示栈顶位置,栈为空的条件是 top=0,栈为满的条件是 top=maxsize4具有64个结点的完全二叉树的深度为 7 5有向图G用邻接矩阵A1.N,1.N存储,其第I列的所有元素之和等于顶点I的入度。 6在双循环链表中,若要在指针P所指结点前插人指针S所指的结点,则需执行下列语句 s-next=p;s-prior=p-prior;p-prior=s;s-prior-next=p;7对于下图所示二叉树;按前序遍

24、历所得到的结点序列A,B,D,E,H,C,F 8分别采用堆排序、快速排序、冒泡排序和归并排序算法对初始状态为递增序列的表按递增顺序排序,最省时间的是冒泡排序 ,最费时间的是快速算法。 1. 7. 对于下面的二叉树,按中序遍历所得到的结点序列为_。2. 8. 分别采用堆排序、快速排序、插入排序和归并排序算法为初始状态为递增序列的表按递增顺序排序,最省时间是_算法,最费时间的是_算法。3. 9. 对下图所示的网,执行prim算法可得到最小生成树,试在下表的空白处填上适当的内容,以说明该算法的执行过程。顶点134UV(U,V)代价(2,1)(2,3)4(2,4)221,3,4(U,V)代价(2,3)

25、42,41,3(U,V)代价(3,1)12,4,31(U,V)代价2,4,3,110、设广义表L((),()) 则head(L)是 () ;tail(L)是 ();L的长度是 2 ;深度是 2 11、在n个记录的有序顺序表中进行折半查找,最大的比较次数是logn 。在如图所示的链表中,若在指针p所指的结点之后插入数据域值相继为a和b的两个结点,则可用下列两个语句实现该操作,它们依次是_S-NEXT-NEXT=P-NEXT_和_P-NEXT=S_。 串S=I am a worker的长度是_14_。假设一个10阶的下三角矩阵A按列优顺序压缩存储在一维数组C中,则C数组的大小应为_55_。 在n个

26、结点的线索二叉链表中,有_n+1_个线索指针。对关键字序列(52,80,63,44,48,91)进行一趟快速排序之后得到的结果为_48,44,52,63,80,91_。三、 应用题1 已知二叉树的后跟序列和中根序列如下,构造出该二叉树。后根序列:ABCDEFG中根序列:ACBGEDF2 有一组关键码序列8,9,5,3,7,2,1,分别采用冒泡排序、快速排序、直接选择排序、直接插入排序、二路归并排序方法由小到大进行排序,在下面的选项中请选择各种排序第一趟排序的结果。冒泡排序:E快速排序:A直接选择排序:B直接插入排序:C二路归并:FA1,2,5,3,7,8,9B1,9,5,3,7,2,8C9,8

27、,5,3,7,2,1D9,5,3,7,2,1,8E8,5,3,7,2,1,9F8,9,3,5,2,7,13 设图G=(V,E),V=1,2,3,4,5,6,E=,请写出图G中顶点的所有拓扑序列。4 设图G=(V,E),V=1,2,3,4,5,6,E=,请画出其邻接表,并说明每个顶点的入度和出度。5 对如下所示的二叉树,画出其顺序存储结构。6 已知图G的邻接表如图所示,画出图G的所有连通分量。现有5个结点(A,B,C,D,E),它们的权值分别为5,10,12,15,30,在下面的选项中选择一个编号,说明这5个结点的哈夫曼编码。(2)(1) A:1,B:001,C:010,D:011,E:000(2) A:000,B:001,C:010,D:011,E:1(3) A:001,B:011,C:010,D:000,E:1(4) A:000,B:1,C:010,D:011,E: 0017 已知一表为23,45,24,6,57,45,35,按表中顺序依次插入初始为空的二叉排序树,要求画出建立的二叉排序树。设有序序列30,18,3,61,14,49,请按该序列构成一棵二叉排序树,并求其查找成功时的平均查找长度。 答:二叉排序树: (3分)平均查找长度= (1+22+32+4) * 1/6 =2.5 (2分)8 对如下所示的交通网,顶点表示城市

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1