数据结构(专)阶段练习3
(完整word版)数据结构复习题-第3章答案2014-6-16(word文档良心出品)
第3章栈和队列答案:一、选择题1-5 BCBCB 6-10BCCDD 11-15 BDBBD16-20CCBDB16题解释:一般只需修改队头指针,不过当队列里面只有一个结点时,需要同时修改队尾指针。
二、判断题1-5 ×√×√√6-10 √√√√×11-16√√√××√三、填空题1.栈顶、栈底2. 入栈、出栈3. 队列、先进先出4.栈5.队列6.先进先出7. (R-P+N) % N8. n-1 牺牲一个存储单元、设标记栈底、两栈顶指针相邻(即值之差的绝对值为1)1.没有、一2. 数据域、指针域3. 前驱4.前驱、后继5.前驱、后继6.头结点7.循环链表8. n-19. 栈后进先出10.SXSSXSXX 11.3,1,2 12.牺牲一个存储单元设标记 13.栈底两栈顶指针相邻(即值之差的绝对值为1)四、简答题(每小题5分,共10分)1.简述队列和栈这两种数据类型的相同点和差异处。
答:队列和栈都是操作受限的线性表,都属于线性表的逻辑结构。
区别在于,队列的插入是在队尾端进行,删除是在队头端进行;而栈的插入和删除都只能在栈顶端进行。
2.简述栈和线性表的差别。
答:栈是操作受限的线性表,栈的插入和删除操作都只能在栈顶端进行,因而相应的称为“入栈”和“出栈”。
3.说明线性表、栈与队列的异同点。
答:相同点:都是线性结构;不同点:队列和栈都是操作受限的线性表,队列的插入是在队尾端进行,删除是在队头端进行;而栈的插入和删除都只能在栈顶端进行,而线性表的插入、删除则不受限制,可以在任何位置进行。
4.链栈中为何不设置头结点?答:链栈不需要在头部附加头结点,因为栈都是在头部进行操作的,如果加了头结点,等于要对头结点之后的结点进行操作,反而使算法更复杂,所以只要有链表的头指针就可以了。
5.什么是循环队列?答:用常规意义下顺序存储结构的一维数组表示队列,由于队列的性质(队尾插入和队头删除),容易造成“假溢出”现象,即队尾已到达一维数组的最高下标,不能再插入,然而队中元素个数小于队列的长度(容量)。
数据结构第3阶段测试题
第三阶段测试卷考试科目:《数据结构》第五章至第七章(总分100分)时间:90分钟______________学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一、选择题(每题3分,共30分)1、m阶B树中的一个分支结点最多含(C)个关键字。
A、m-1B、mC、m+1D、[m/2]-1E、[m/2]F、[m/2]+12、设有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表,至少要进行(B)次探测。
A、k-1B、kC、k+1D、k(k-1)/23、设表中含100个数据元素,用折半查找法进行查找,则所需最大比较次数为(A)。
A、50B、25C、10D、74、设哈希表地址范围为0~19,哈希函数H(key)=key%17,使用二次探测再散列法处理冲突。
若表中已存放有关键字值为6、22、38、55的记录,则再放入关键字值为72的记录时,其存放地址应为(D)。
A、2B、3C、4D、7E、8F、以上都不对5、直接插入排序在最好情况下的时间复杂度为(D)。
A、O(logn)B、O(n)C、O(n*logn)D、O(n2)6、将两个各有n个元素的有序表归并成一个有序表,最少进行(E)次比较。
A、nB、2n-1C、2nD、n-17、设有一组关键字值(46,79,56,38,40,84),则用快速排序的方法,以第一个记录为基准得到的一次划分结果为(D)。
A、38,40,46,56,79,84B、40,38,46,79,56,84C、40,38,46,56,79,84D、40,38,46,84,56,798、外部排序是指(B)。
A、在外存上进行的排序方法B、不需要使用内存的排序方法C、数据量很大,需要人工干预的排序方法D、排序前后数据在外存,排序时数据调入内存的排序方法9、下述文件中适合于磁带存储的是(C)。
A、顺序文件B、索引文件C、散列文件D、多关键字文件10、ISAM文件和VSAM文件属于(A)。
数据结构第三章习题
第三章习题1.按图3.1(b)所示铁道(两侧铁道均为单向行驶道)进行车厢调度,回答:⑴如进站的车厢序列为123,则可能得到的出站车厢序列是什么?⑵如进站的车厢序列为123456,能否得到435612和135426的出站序列,并说明原因。
(即写出以“S”表示进栈、以“X”表示出栈的栈操作序列)。
2.设队列中有A、B、C、D、E这5个元素,其中队首元素为A。
如果对这个队列重复执行下列4步操作:(1)输出队首元素;(2)把队首元素值插入到队尾;(3)删除队首元素;(4)再次删除队首元素。
直到队列成为空队列为止,得到输出序列:(1)A、C、E、C、C (2) A、C、E(3) A、C、E、C、C、C (4) A、C、E、C3.给出栈的两种存储结构形式名称,在这两种栈的存储结构中如何判别栈空与栈满?4.按照四则运算加、减、乘、除和幂运算(↑)优先关系的惯例,画出对下列算术表达式求值时操作数栈和运算符栈的变化过程:A-B*C/D+E↑F5.试写一个算法,判断依次读入的一个以@为结束符的字母序列,是否为形如‘序列1&序列2’模式的字符序列。
其中序列1和序列2中都不含字符’&’,且序列2是序列1的逆序列。
例如,‘a+b&b+a’是属该模式的字符序列,而‘1+3&3-1’则不是。
6.假设表达式由单字母变量和双目四则运算算符构成。
试写一个算法,将一个通常书写形式且书写正确的表达式转换为逆波兰式。
7.假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点(注意不设头指针),试编写相应的队列初始化、入队列和出队列的算法。
8.要求循环队列不损失一个空间全部都能得到利用, 设置一个标志域tag , 以tag为0或1来区分头尾指针相同时的队列状态的空与满,请编写与此结构相应的入队与出队算法。
9.简述以下算法的功能(其中栈和队列的元素类型均为int):(1)void proc_1(Stack S){ int i, n, A[255];n=0;while(!EmptyStack(S)){n++; Pop(&S, &A[n]);} for(i=1; i<=n; i++)Push(&S, A[i]);}(2)void proc_2(Stack S, int e) { Stack T; int d;InitStack(&T);while(!EmptyStack(S)){ Pop(&S, &d);if (d!=e) Push( &T, d);}while(!EmptyStack(T)){ Pop(&T, &d);Push( &S, d);}}(3)void proc_3(Queue *Q){ Stack S; int d;InitStack(&S);while(!EmptyQueue(*Q)){DeleteQueue(Q, &d);Push( &S, d);}while(!EmptyStack(S)){ Pop(&S, &d);EnterQueue(Q,d)}}实习题1.回文判断。
数据结构形考3
数据结构形考3:此次作业共36道题,100分,在形成性考核成绩中占20%。
题型包括:一、单项选择题(每小题2分,19题,共38分)二、判断题(每小题1分,10题,共10分)三、程序填空题(每小题6分,2题,共12分)四、综合应用题(每小题8分,5题,共40分)一、单项选择题(每小题2分,共38分)1.假定一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为()。
A.15B.16C.17D.472.二叉树第k层上最多有()个结点。
A.2kB.2k-1C.2k-1D.2k-13.将含有150个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点的编号为1,则编号为69的结点的双亲结点的编号为()。
A.3B.34C.35D.364.如果将给定的一组数据作为叶子数值,所构造出的二叉树的带权路径长度最小,则该树称为()。
A.哈夫曼树B.平衡二叉树C.二叉树D.完全二叉树5.在一棵度具有5层的满二叉树中结点总数为()。
A.31B.32C.33D.166.一棵完全二叉树共有6层,且第6层上有6个结点,该树共有()个结点。
A.38B.72C.31D.377.利用3、6、8、12这四个值作为叶子结点的权,生成一棵哈夫曼树,该树中所有叶子结点中的最长带权路径长度为()。
A.18B.16C.12D.308.在一棵树中,()没有前驱结点。
A.分支结点B.叶结点C.树根结点D.空结点9.设一棵采用链式存储的二叉树,除叶结点外每个结点度数都为2,该树结点中共有20个指针域为空,则该树有()个叶结点。
A.21B.22C.9D.1010.在一个图G中,所有顶点的度数之和等于所有边数之和的()倍。
A.1/2B.1C.2D.411.邻接表是图的一种()。
A.顺序存储结构B.链式存储结构C.索引存储结构D.散列存储结构12.图的深度优先遍历算法类似于二叉树的()遍历。
A.先序B.中序C.后序D.层次13.已知下图所示的一个图,若从顶点V1出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为()。
数据结构模拟试题三及答案
数据结构模拟试题三一.判断题(每小题1 分,共10分)1.逻辑结构不同的数据,要采用不同的存储方法来存储。
2.单链表中的结点只有后继,没有前驱。
3.栈和队列具有相同的逻辑特性。
4.二叉树中结点之间的相互关系不能用二元组来表示。
5.关键路径是由权值最大的边构成的。
6.在表示矩阵的三元组顺序表中,各元素的排列顺序与矩阵元素值的大小无关。
7.在广义表中,每个原子必须是单个字符。
8.在平衡二叉排序树中,每个结点的平衡因子值是相等的。
9.只有在线性表的初始状态为逆序排列的情况下,起泡排序过程中,元素的移动次数才会达到最大值。
10.在B+树上可以进行顺序查找。
二.填空题(每空1分,共10分)1.若用不带表头结点的单链表来表示链接队列,则只有在________情况下,插入操作既要修改队尾指针的值,也要修改队头指针的值;只有在________情况下,删除操作仅需修改队首指针的值,不需修改队尾指针的值。
2.无向图中边的数目等于邻接矩阵中___________。
3.在各元素查找概率相等的情况下,在含有12个元素的二叉排序树上查找其中一个元素,元素间的平均比较次数至少是____次,至多是____次。
4.对12个元素进行快速排序,排序码的比较次数最多是___次。
5.对B+树来说,若某个非根分支结点中有6个关键字,则在它的某个孩子结点中至少有_____个关键字,至多有_____个关键字。
6.如果在根结点中要查到要找的关键字,则对于B-树来说,下一步应该_________,而对于B+树来说,下一步应该_________。
三.单选题(每题2分,共20分)1.线性结构采用链式存储,________。
A.对插入、删除结点的操作较为有利B.不利于进行顺序访问C.逻辑上相邻的结点在存储器中也相邻D.可以用一些不连续的存储区域来存放一个结点2. 某算法的时间复杂度为O(2n),表明该算法的________。
A.执行时间与2n成正比B.执行时间等于2nC.问题规模是2n D.问题规模与2n成正比3. 在长度为n的_________上,删除最后一个元素,其算法的时间复杂度是O(n)。
数据结构第三单元练习题的参考答案
《数据结构》第3教学单元练习题答案一、选择题1.设无向图的顶点个数为n,则该图最多有()条边。
A.n-1B.n(n-1)/2C.n(n+1)/2D.02.在一个无向图中,所有顶点的度数之和等于所有边数( B )倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的( C )倍。
A.1/2B.2C.1D.43.若一个具有n个顶点,k条边的无向图是一个森林(n>k),则该森林中必有()棵树。
A.kB.nC. n-kD.(D)14.下列哪一种图的邻接矩阵是对称矩阵?()A.有向图B.无向图C.AOV网D.AOE网5.一个有向图邻接表和逆邻接表中结点的个数( A )。
A.一样多B.邻接表中结点比逆邻接表中结点多C.逆邻接表中结点比邻接表结点多D.不确定6.在图的邻接表存储结构上执行广度优先搜索遍历类似于二叉树上的()A.先根遍历B.中根遍历C.后根遍历D.按层次遍历7.下列说法不正确的是()。
A.图的遍历是从给定的源点出发每一个顶点仅被访问一次B.遍历的基本算法有两种:深度遍历和广度遍历C.图的深度遍历不适用于有向图D.图的深度遍历是一个递归过程8.在图采用邻接表存储时,求最小生成树的 Prim 算法的时间复杂度为( )。
A.O(n)B.O(n+e)C.O(n2)D.O(n3)9.AOV网是一种()。
A.有向图B.无向图C.无向无环图D.有向无环图10.一个有向无环图的拓扑排序序列()是唯一的。
A.一定B.不一定11.有拓扑排序的图一定是()。
A.有环图B.无向图C.强连通图D.有向无环图12.在用邻接表表示图时,拓扑排序算法时间复杂度为( )。
A.O(n)B.O(n+e)C.O(n*n)D.O(n*n*n)13.下列关于AOE网的叙述中,不正确的是()。
A.关键活动不按期完成就会影响整个工程的完成时间B.任何一个关键活动提前完成,那么整个工程将会提前完成C.所有的关键活动提前完成,那么整个工程将会提前完成D.某些关键活动提前完成,那么整个工程将会提前完成14.最短路径的生成算法可用()。
《数据结构(C语言版 第2版)》(严蔚敏 著)第三章练习题答案
《数据结构(C语言版第2版)》(严蔚敏著)第三章练习题答案第3章栈和队列1.选择题(1)若让元素1,2,3,4,5依次进栈,则出栈次序不可能出现在()种情况。
A.5,4,3,2,1 B.2,1,5,4,3 C.4,3,1,2,5 D.2,3,5,4,1答案:C解释:栈是后进先出的线性表,不难发现C选项中元素1比元素2先出栈,违背了栈的后进先出原则,所以不可能出现C选项所示的情况。
(2)若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为()。
A.i B.n-i C.n-i+1 D.不确定答案:C解释:栈是后进先出的线性表,一个栈的入栈序列是1,2,3,…,n,而输出序列的第一个元素为n,说明1,2,3,…,n一次性全部进栈,再进行输出,所以p1=n,p2=n-1,…,pi=n-i+1。
(3)数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为()。
A.r-f B.(n+f-r)%n C.n+r-f D.(n+r-f)%n答案:D解释:对于非循环队列,尾指针和头指针的差值便是队列的长度,而对于循环队列,差值可能为负数,所以需要将差值加上MAXSIZE(本题为n),然后与MAXSIZE(本题为n)求余,即(n+r-f)%n。
(4)链式栈结点为:(data,link),top指向栈顶.若想摘除栈顶结点,并将删除结点的值保存到x中,则应执行操作()。
A.x=top->data;top=top->link;B.top=top->link;x=top->link;C.x=top;top=top->link;D.x=top->link;答案:A解释:x=top->data将结点的值保存到x中,top=top->link栈顶指针指向栈顶下一结点,即摘除栈顶结点。
数据结构与算法练习试卷3
数据结构与算法练习试卷3(总分:56.00,做题时间:90分钟)一、选择题(总题数:27,分数:56.00)1.选择题()下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
__________________________________________________________________________________________ 解析:2.以下关于顺序存储结构的叙述中,哪一条是不正确的?______。
(分数:2.00)A.存储密度大B.逻辑上相邻的节点物理上不必邻接√C.可以通过计算直接确定第i个节点的存储地址D.插入、删除运算操作不方便解析:3.单键表的每个节点中包括一个指针link,它指向该节点的后继节点。
现要将指针q指向的新节点插入到指针p指向的单链表节点之后,下面的操作序列中哪一个是正确的?______。
(分数:2.00)A.q:=p^.link;p^.link:=q^.link;B.p^.link:=q^.link;q:=p^.link;C.q^.link:=p^.link;p^.link:=q;√D.p^.link:=q;q^.link:=p^.link;解析:4.设有下三角矩阵A[0..10,0..10],按行优先顺序存放其非零元素,每个非零元素占两个字节,存放的基地址为100,则元素A[5,5]的存放地址为______。
(分数:2.00)A.110B.120C.130D.140 √解析:5.栈S最多能容纳4个元素。
现有6个元素按A、B、C、D、E、F的顺序进栈,下列哪一个序列不是可能的出栈序列? ______。
(分数:2.00)A.A、D、E、C、B、FB.A、F、E、D、C、B √C.C、B、E、D、A、FD.C、D、B、F、E、A解析:6.霍夫曼算法可以用于______。
(分数:2.00)A.动态存储管理B.表达式求值C.数据通信的二进制编码√D.城市间的交通网设计解析:7.设待排序关键码序列为(25,18,9,33,67,82,53,95,12,70),要按关键码值递增的顺序进行排序,采取以第一个关键码为分界元素的快速排序法,第一趟完成后关键码 33被放到了第几个位置?______。
《数据结构》模拟试题综合测试题带答案 (3)
《数据结构》模拟试题03一、单项选择题(每题 2 分,共30分)1.算法指的是( )A .计算机程序B .解决问题的计算方法C .排序算法D .解决问题的有限运算序列 2.线性表采用链式存储时,结点的存储地址( ) A .必须是不连续的 B .连续与否均可 C .必须是连续的D .和头结点的存储地址相连续3.将长度为n 的单链表链接在长度为m 的单链表之后的算法的时间复杂度为( ) A .O (1) B .O (n ) C .O (m ) D .O (m+n ) 4.由两个栈共享一个向量空间的好处是:( ) A .减少存取时间,降低下溢发生的机率 B .节省存储空间,降低上溢发生的机率 C .减少存取时间,降低上溢发生的机率 D .节省存储空间,降低下溢发生的机率5.设数组data[m]作为循环队列SQ 的存储空间,front 为队头指针,rear 为队尾指针,则执行出队操作后其头指针front 值为( )A .front=front+1B .front=(front+1)%(m-1)C .front=(front-1)%mD .front=(front+1)%m 6.如下陈述中正确的是( )A .串是一种特殊的线性表B .串的长度必须大于零C .串中元素只能是字母D .空串就是空白串7.若目标串的长度为n ,模式串的长度为[n/3],则执行模式匹配算法时,在最坏情况下的时间复杂度是( )A .O (n3) B .O (n ) C .O (n2) D .O (n3)8.一个非空广义表的表头( )A .不可能是子表B .只能是子表C .只能是原子D .可以是子表或原子 9.假设以带行表的三元组表表示稀疏矩阵,则和下列行表对应的稀疏矩阵是( )5A.08067000000050400000--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥B.08067000504000000300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥C.08060000020050400000--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥D.08060000700050400300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥10.在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为( ) A.4 B.5 C.6 D.711.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( )A.e B.2e C.n2-e D.n2-2e12.假设一个有n个顶点和e条弧的有向图用邻接表表示,则删除与某个顶点vi相关的所有弧的时间复杂度是( )A.O(n) B.O(e) C.O(n+e) D.O(n*e)13.用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下:20,15,21,25,47,27,68,35,8415,20,21,25,35,27,47,68,8415,20,21,25,27,35,47,68,84则所采用的排序方法是()A.选择排序B.希尔排序C.归并排序D.快速排序14.适于对动态查找表进行高效率查找的组织结构是()A.有序表B.分块有序表C.三叉排序树D.线性链表15.不定长文件是指()A.文件的长度不固定B.记录的长度不固定C.字段的长度不固定D.关键字项的长度不固定二、填空题(每题2分,共20分)1.数据的逻辑结构是从逻辑关系上描述数据,它与数据的无关,是独立于计算机的。
数据结构练习题(含答案)(DOC)
3. 已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一算法,删除表中所有大于 x 且小于 y 的元 素(若表中存在这样的元素)同时释放被删除结点空间。
void del(LinkList L,elemtype a,elemtype b) { p= L;q=p->next;
习题答案
2.1 1. B 2. A, C 3. B 4. D 5. C 6. A 7. A 8. B
9. C 10. D 11.B 12.B 13.A 14.D 15.B 16.C
2.2 1. 线性结表
2. 前驱结点、后继结点
3. s, p 5. p->next, s
4. q->next, q 6. O (1) , O (n)
A. s->next=p->next; p->next=s; B. p->next=s->next; s->next=p;
B. q->next=s; s->next=p;
C. p->next=s; s->next=q;
12. 在一个单链表中,若 p 所指结点不是最后结点,在 p 之后插入 s 所指结点,则执行____。
6. 对于一个具有 n 个结点的单链表,在已知 p 所指结点后插入一个新结点的时间复杂度是__ __;在给定值为 x 的
结点后插入一个新结点的时间复杂度是__ __。
2.3 算法设计题:
1.设顺序表 va 中的数据元数递增有序。试写一算法,将 x 插入到顺序表的适当位置上,以保持该表的有序性。
Status Insert_SqList(SqList &va,int x) { if(va.length+1>maxsize) return ERROR; va.length++; for(i=va.length-1;va.elem[i]>x&&i>=0;i--) va.elem[i+1]=va.elem[i]; va.elem[i+1]=x; return OK;
数据结构练习试卷3(题后含答案及解析)
数据结构练习试卷3(题后含答案及解析)题型有:1. 选择题选择题(每小题1分,共75分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。
1.二叉树(1)。
在完全的二叉树中,若一个结点没有(2),则它必定是叶结点。
每棵树都能唯一地转换成与它对应的二叉树。
由树转换成的二叉树里,一个结点N的左子结点是N在原树里对应结点的(3),而N的右子结点是它在原树里对应结点的(4)。
A.是特殊的树B.不是树的特殊形式C.是两棵树的总称D.是只有两个根结点的树形结构正确答案:B 涉及知识点:数据结构2.A.左子结点B.右子结点C.左子结点或者没有右子结点D.兄弟正确答案:A 涉及知识点:数据结构3.A.最左子结点B.最右子结点C.最邻近的右兄弟D.最邻近的左兄弟正确答案:A 涉及知识点:数据结构4.A.最左子结点B.最右子结点C.最邻近的右兄弟D.最邻近的左兄弟正确答案:C解析:树是结点的有限集合,它有且仅有1个根结点。
二叉树有0个或1个根结点,二者是两个不同的概念。
所以,第1空的正确答案为选项B。
在完全二叉树中,如果一个结点没有左子结点,那么必然没有右子结点,所以就一定是叶结点。
第2空的正确答案为选项A。
树中每个结点最多只有一个最左边的孩子(长子)和一个右邻的兄弟。
按照这种关系很自然地就能将树转换成相应的二叉树:①在所有兄弟结点之间加一连线;②对每个结点,除了保留与其长子的连线外,去掉该结点与其他孩子的连线。
因为树根没有兄弟,所以,树转换为二叉树之后,二叉树的根结点的右子树必然为空。
在由树转换成的二叉树中,一个结点N的左一个结点N的左子结点是N在原树里对应结点的最左子结点,而N的右子结点是它在原树里对应结点的最邻近的右兄弟。
所以,第3空的正确答案为选项A,第4空的正确答案为选项C。
知识模块:数据结构5.在一棵非空二叉树中,叶子节点的总数比度为2的节点总数多(43)个。
数据结构3套卷子合集带答案
操作系统(专科)模拟题-1一、单项选择题(每题2分,共20 分)1、分时系统中,一旦有处理请求和要求处理的数据时,CPU就应该立即处理该数据并将结果及时送回。
下面属于分时系统的是( D )。
A.计算机激光照排系统B.办公自动化系统C.计算机辅助设计系统D.航空订票系统2、一个进程被唤醒意味着( B )。
A.该进程重新占有了CPU B.进程状态变为就绪C.它的优先权变为最大D.其PCB移至就绪队列的队首3、进程的动态、并发等特征是利用(D )表现出来的。
A.程序B.数据C.程序和数据D.进程控制块4、在操作系统中,JCB是指(C )。
A.文件控制块B.进程控制块C.作业控制块D.程序控制块5、在UNIX系统中,目录结构采用( D )。
A.单级目录结构B.二级目录结构C.单纯树形目录结构D.带链接树形目录结构6、设备的打开、关闭、读、写等操作是由(D )完成的。
A.用户程序B.编译程序C.设备分配程序D.设备驱动程序7、可由CPU调用执行的程序所对应的地址空间为( C )。
A.符号名空间B.虚拟地址空间C.物理地址空间D.相对地址空间8、采用SPOOLing技术的目的是( A )。
A.提高独占设备的利用率B.提高主机效率C.减轻用户编程负担D.提高程序的运行速度9、避免死锁的一个著名的算法是(B)。
A.先入先出法B.银行家算法C.优先级算法D.资源按序分配法10、在微内核结构的现代操作系统中,进程(C )。
A.失去作用B.只是调度运行的单位C.只是资源分配的单位D.既是资源分配的单位,又是调度运行的单位---------------------------------------------------------------------------------------------1.分布式操作系统与网络操作系统本质上的不同在于(D)。
A.实现各台计算机之间的通信B.共享网络中的资源C.满足较大规模的应用D.系统中若干台计算机相互协作完成同一任务2.进程与程序之间有密切联系,但又是不同的概念。
数据结构_第三阶段练习-齐了 江南大学考试题库答案 共3个阶段,这是其中一个阶段,答案在最后
江南大学网络教育第三阶段练习题考试科目:《数据结构》第章至第章(总分100分)__________学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一单选题 (共10题,总分值20分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。
)1. m阶B树中的一个分支结点最多含(D)个关键字。
( D)(2 分)A. m-1B. mC. [m/2]D. [m/2]+12. 将两个各有n个元素的有序表归并成一个有序表,最少进行( C)次比较。
(2 分)A. nB. 2n-1C. 2nD. n-13. 下述文件中适合于磁带存储的是( C )。
(2 分)A. 顺序文件B. 索引文件C. 散列文件D. 多关键字文件4. 外部排序是指( B )。
(2 分)A. 在外存上进行的排序方法B. 不需要使用内存的排序方法C. 数据量很大,需要人工干预的排序方法D. 排序前后数据在外存,排序时数据调入内存的排序方法5. 设哈希表地址范围为0~19,哈希函数H(key)=key%17,使用二次探测再散列法处理冲突。
若表中已存放有关键字值为6、22、38、55的记录,则再放入关键字值为72的记录时,其存放地址应为( C)。
(2 分)A. 2B. 3C. 7D. 86. ISAM文件和VSAM文件属于(A )。
(2 分)A. 索引非顺序文件B. 索引顺序文件C. 顺序文件D. 散列文件第1页/共5页。
数据结构练习3答案..
数据结构练习(三)参考一、选择题1.顺序查找法适合于存储结构为的线性表A)哈希存储B)顺序存储或链式存储C)压缩存储D)索引存储2.一个长度为100的已排好序的表,用二分查找法进行查找,若查找不成功,至少比较________次。
A)9 B)8 C)7 D)63.采用顺序查找方法查找长度为n的线性表时,平均比较次数为。
A)n B)n/2 C)(n+1)/2 D)(n-1)/24.对线性表进行折半查找时,要求线性表必须。
A)以顺序方式存储B)以顺序方式存储,且结点按关键字有序排列C)以链表方式存储D)以链表方式存储,且结点按关键字有序排列5.采用二分查找法查找长度为n的线性表时,每个元素的平均查找长度为。
A)O(n2)B)O(nlog2n)C)O(n)D)O(log2n)6.有一个长度为12的有序表R[0…11],按折半查找法对该表进行查找,在表内各元素等概率查找情况下查找成功所需的平均比较次数为。
A)35/12 B)37/12 C)39/12 D)43/127.有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,99},当采用折半查找法查找关键字为82的元素时,次比较后查找成功。
A)1 B.2 C)4 D)88.当采用分块查找时,数据的组织方式为。
A)数据分成若干块,每块内存数据有序B)数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块C)数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D)数据分成若干块,每块(出最后一块外)中的数据个数需相同9.采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块时,每块应有个结点最佳。
A)10 C)6 D)62510.不能生成右图所示二叉排序树的关键字序列是_____。
B)42531 C)45213 D)4231511.按____遍历二叉排序树,可以得到按值递增或递减次序的关键码序列。
数据结构三次作业答案
第三阶段离线作业第七章 图7.1 已知图7.1所示的有向图,请给出该图的⑴ 每个顶点的入/出度;⑵ 邻接矩阵; ⑶ 邻接表;⑷ 逆邻接表;图7.1 (1)(2)A= 0 1 0 0 0 10 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 1 0 0 1 0(3)→ →→ → → → → → → → (4)→ → → → →→ → → →7.2 用深度优先搜索和广度优先搜索对图7.2进行遍历(从顶点1出发),给出遍历序列。
图7.2深度优先1→2→4→8→5→3→6→7广度优先1→2→3→4→5→6→7→8第九章查找9.1 画出长度为10的有序表进行折半查找的判定树,并求其等概率时查找成功的平均查找长度。
等概率时查找成功的平均查找长度:ASL succ=(1*1+2*2+3*4+4*3)/10=2.99.2 假设按下述递归方法进行顺序表的查找:若表长≤10,则进行顺序查找,否则进行折半查找。
试画出对表长n=50的顺序表进行上述查找时,描述该查找的判定树,并求出在等概率情况下查找成功的平均查找长度。
ASL succ=(1*1+2*2+3*4+(4+5+6+7+8)*8+9*3)/50=5.689.3 设有一组关键字{19,01,23,14,55,20,84,27,68,11,10,77},采用哈希函数:H(key)=key%13构造哈希表。
⑴采用开放地址法的线性探测再散列方法解决冲突。
⑵采用开放地址法的二次探测再散列方法解决冲突。
⑶采用开放地址法的随机探测再散列方法解决冲突。
⑷采用链地址法解决冲突。
哈希列表012345678910111213关键字011455276819208423111077(2)哈希列表0123456789101112关键字270114556884192010231177(3)哈希列表0123456789101112关键字840155142768192010231177(4)哈希列表0123456789101112指针015519202311771468841027第十章内部排序10.1 已知序列{503,87,512,61,908,170,897,275,653,462},请给出采用快速排序法对该序列作升序排序时的每一趟结果。
数据结构练习题第三章栈、队列和数组习题及答案
第三章栈、队列和数组一、名词解释:1.栈、栈顶、栈底、栈顶元素、空栈2.顺序栈3.链栈4.递归5.队列、队尾、队头6.顺序队7.循环队8.队满9.链队10.随机存储结构11.特殊矩阵12.稀疏矩阵13.对称方阵14.上(下)三角矩阵二、填空题:1.栈修改的原则是_________或称________,因此,栈又称为________线性表。
在栈顶进行插入运算,被称为________或________,在栈顶进行删除运算,被称为________或________。
2.栈的基本运算至少应包括________、________、________、________、________五种。
3.对于顺序栈,若栈顶下标值top=0,此时,如果作退栈运算,则产生“________”。
4.对于顺序栈而言,在栈满状态下,如果此时在作进栈运算,则会发生“________”。
5.一般地,栈和线性表类似有两种实现方法,即________实现和________实现。
6.top=0表示________,此时作退栈运算,则产生“________”;top=sqstack_maxsize-1表示________,此时作进栈运算,则产生“________”。
7.以下运算实现在顺序栈上的初始化,请在________处用适当的句子予以填充。
int InitStack(SqStackTp *sq){ ________;return(1);}8.以下运算实现在顺序栈上的进栈,请在________处用适当的语句予以填充。
Int Push(SqStackTp *sq,DataType x){ if(sp->top==sqstack_maxsize-1}{error(“栈满”);return(0);}else{________________:________________=x;return(1);}}9.以下运算实现在顺序栈上的退栈,请在________________用适当句子予以填充。
数据结构单元3练习参考答案
一.判断题(下列各题,正确的请在前面的括号内打√;错误的打╳)
(√)(1)栈是运算受限制的线性表。
(√)(2)在栈空的情况下,不能作出栈操作,否则产生下溢出。
(ㄨ)(3)栈一定是顺序存储的线性结构。
(√)(4)栈的特点是“后进先出”。
(ㄨ)(5)空栈就是所有元素都为0的栈。
(ㄨ)(6)在C或C++语言中设顺序栈的长度为MAXLEN,则top=MAXLEN时表示队满。
int correct(char a[ ])
{
stack s ;
InitStack(s);//调用初始化栈函数
for(i=0;i<strlen(a);i++)
if (a[i]= =’(’)
Push (s,’(’);
else if (a[i]= =’)’)
{
if StackEmpty(s)//调用判栈空函数
(13)经过下列栈的运算后,再执行ReadTop(s)的值是(A)。
InitStack(s)(初始化栈);Push(s,a);Push(s,b); Pop(s)
A.aB.bC.1D.0
(14)经过下列栈的运算后,x的值是(B)。
InitStack(s)(初始化栈);Push(s,a);Push(s,b);ReadTop(s);Pop(s,x);
(7)带头结点的链栈LS的示意图如下,栈顶元素是(A)
LS
H
A
B
C
D
Λ
A.AB.BC.CD.D
(8)链栈与顺序栈相比,有一个比较明显的优点是( B )。
A.插入操作更加方便B.通常不会出现栈满的情况。
C.不会出现栈空的情况D.删除操作根加方便
数据结构 第3章习题答案
4.顺序队的“假溢出”是怎样产生的?如何知道循环队列是空还是满?
答:一般的一维数组队列的尾指针已经到了数组的上界,不能再有入队操作,但其实数组中还有空位置,这就叫“假溢出”。 采用循环队列是解决假溢出的途径。 另外,解决队满队空的办法有三: ① 设置一个布尔变量以区别队满还是队空; ② 浪费一个元素的空间,用于区别队满还是队空。
2.设有编号为 1,2,3,4 的四辆列车,顺序进入一个栈式结构的车站,具体写出这四辆列车开出车站的所 有可能的顺序。
刘答:至少有 14 种。 ① 全进之后再出情况,只有 1 种:4,3,2,1 ② 进 3 个之后再出的情况,有 3 种,3,4,2,1 3,2,4,1 3,2,1,4 ③ 进 2 个之后再出的情况,有 5 种,2,4,3,1 2,3,4,1 2,1, 3,4 2,1,4,3 2,1,3,4 ④ 进 1 个之后再出的情况,有 5 种,1,4,3,2 1,3,2,4 1,3,4,2 1, 2,3,4 1,2,4,3
( √ )7. 栈和队列的存储方式既可是顺序方式,也可是链接方式。 ( √ )8. 两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底
分别设在这片内存空间的两端。 ( × )9. 队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。
错,后半句不对。
( × )10. 一个栈的输入序列是 12345,则栈的输出序列不可能是 12345。
( × )2. 在表结构中最常用的是线性表,栈和队列不太常用。
错,不一定吧?调用子程序或函数常用,CPU 中也用队列。
( √ )3. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。 ( √ )4. 对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。
数据结构(C#语言)(20秋)形考作业3
一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是()。
•••25分在查找过程中,若同时还要做增、删工作,这种查找则称为()。
•••35分链栈与顺序栈相比,比较明显的优点是()。
•••45分顺序查找法适合于存储结构为()的线性表。
•••最小生成树指的是()。
•••一个记录的关键字为(46,79,56,38,40,84),采用快速排序以第一个记录为基准得到的第一次划分结果是()。
•••95分堆排序是一种()排序。
•••105分快速排序算法在最坏情况下的时间复杂度为()。
•••115分下列算法的时间复杂度是()。
for(i=1;i<=n;i+ +)c[i]=i;•••125分在一个单链表中,已知q所指结点是p所指结点的直接前趋,若在p,q之间插入s结点,则执行的操作是()。
•••135分在一个单链表中,若P所指结点不是最后结点,在P之后插入S所指结点,则执行()•••145分算法在发生非法操作时可以做出处理的特性称为()。
•••155分线性表是()。
•••165分图的广度优先搜索遍历类似于树的()。
•••175分具有m个结点的无向图的边数最多为()。
•••185分由4个结点构造出的不同的二叉树个数共有()。
•••195分以下哪一个术语与数据的存储结构无关?()。
•••205分对n个不同的排序码进行冒泡排序,在元素无序情况下的比较次数为()。
•••。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华东理工大学网络学院(专科)
《数据结构》------ch6树和二叉树、ch8查找班级学号姓名成绩
一、名词解释(每个2分,共10分)
1. 结点的度:结点的子树的个数。
2. 二叉树:满足条件(1)每个结点的度都不大于2;(2)每个结点的孩子结点次序不能任意颠倒;这样的树形结构称为二叉树。
3.线索化:对二叉树以某种次序进行遍历并且加以线索的过程。
4.哈夫曼树:带权路径长度WPL最小的二叉树称为哈夫曼树或者最优二叉树。
5.冲突:不同的关键字可能得到同一个哈希地址,这种现象称为冲突。
二、填空题(每空1分,共20分)
1.由树转换为二叉树,其根节点的右子树总是为空。
2.在分块查找方法中,首先查找索引(表),然后再查找相应的块。
3.含17个结点的二叉树的深度是 5 (设根结点的深度为1)。
4.一棵高度为h的满二叉树共有2h-1个终端结点。
5. 已知一棵完全二叉树的第5层有3个结点,其叶子结点数是9 。
6.对线性表进行二分查找时,要求线性表必须以.顺序方式存储,且结点按关键字
有序排列。
7. N个结点的二叉树采用二叉链表存放,共有空链域个数为n+1 。
8. 在各种查找方法中,平均查找长度与结点个数无关的是哈希查找法。
9. 深度为6(根层次为1)的二叉树至多有26– 1 个结点。
10. 由树转换成的二叉树里,一个结点N的左孩子是N在原树里对应结点的最左子结
点,而N的右孩子是它在原树里对应结点的最邻近的右兄弟。
11. 在哈希存储中,装填因子α的值越大,则发生冲突的可能性就越大;α的值越小,则发生冲突的可能性就越小。
12. 哈希表的查找效率主要取决于哈希表造表时选取的哈希函数和处理冲突的方法。
13.树是结点的有限集合,它有0个或1个根结点,记为T。
其余的结点分成为m(m ≥0)个互不相交的集合T1,T2,…,Tm,每个集合又都是树,此时结点T称为Ti 的父结点,Ti称为T的子结点(1≤i≤m)。
一个结点的子树个数为该结点的度。
三、判断正误(对的用”T”表示,错误的用”F”表示。
每小题1分,共10分)
1.( T ) 具有n个结点的满二叉树,其叶结点的个数为(n+1)/2。
2.( F ) 用一维数组存储二叉树时,总是以前序遍历存储节点。
3.( T ) 判断线索二叉树中某结点p有左孩子的条件是p->ltag=0。
4. ( F ) 哈夫曼树是带权路径长度最短的树,路径上权值较大的点离根较远。
5.( F ) 折半查找适用于有序表,包括有序的顺序表和有序的链表。
6.( F )哈夫曼树中没有度为1的结点,所以必为满二叉树。
7.(T )深度为K的完全二叉树至少有2K-1个结点。
8.(T )若查找表的长度为n,则顺序查找法的平均查找长度为(n+1)/2。
9.(F )二叉排序树或是一棵空树,或是具有下列性质的二叉树:若它的左子树非空,则根结点的值大于其左孩子的值;若它的右子树非空,则根结点的值大于其右孩子的值。
10.( F ) 分块查找法中的索引顺序表的特点是块间可无序,但块内一定要有序。
四、单项选择题(每小题2分,共20分)
1.对包含n个元素的哈希表进行查找,平均查找长度为: D
A O(log2n)
B O(n)
C O(nlog2n)
D 不直接依赖于n
2.将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点
进行编号,根结点编号为1,则编号最大的非叶结点的编号为: C
A 48
B 49
C 50
D 51
3.某二叉树结点的中序序列为A、B、C、D、E、F、G,后序序列为B、D、C、A、F、G、E,则其左子树中结点数目为: C
A 3
B 2
C 4 D5
4. 设一哈希表表长M为100 ,用除留余数法构造哈希函数,即H(K)=K MOD P(P<=M), 为使函数具有较好性能,P应选 C
A 100
B 99
C 97 D89
5. 在顺序表( 3, 6, 8, 10, 12, 15, 16, 18, 21, 25, 30 ) 中,用折半法查找关键码值11,所需的关键码比较次数为: C
A 2
B 3
C 4
D 5
6. 将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点编号为1,则编号为49的结点的左孩子的编号为: A
A 98
B 99
C 50
D 48
7. 平衡二叉排序树具有的特点是左子树与右子树的高度差的绝对值不超过D 。
A –1
B 1
C 0
D 1
8.由3个结点所构成的树有 B 种形态。
A1 B2 C3 D 4
9. 二叉树是非线性数据结构,所以 C 。
A它不能用顺序存储结构存储B它不能用链式存储结构存储
C顺序存储结构和链式存储结构都能存储D顺序存储结构和链式存储结构都不能使用10. 设有100个元素,用折半查找法进行查找时,最少比较次数为 C 次。
A 4
B 3
C 1
D 7
五、简答题(每小题5分,共10分)
1.试分别找出满足以下条件的所有二叉树:
(1) 二叉树的前序序列与中序序列相同;
(2) 二叉树的中序序列与后序序列相同;
(3) 二叉树的前序序列与后序序列相同。
答:(1) 二叉树的前序序列与中序序列相同:空树或缺左子树的单支树;
(2) 二叉树的中序序列与后序序列相同:空树或缺右子树的单支树;
(3) 二叉树的前序序列与后序序列相同:空树或只有根结点的二叉树。
2. 在哈希表中,发生冲突的可能性与哪些因素有关?为什么?
答:主要与哈希函数、装填因子α有关。
如果用哈希函数计算的地址分布均匀,则冲突的可能性较小,如果装填因子α较小,则哈希表较稀疏,发生冲突的可能性较小。
六、综合题(每小题5分,共15分)
1.已知一棵二叉树的中序、后序序列分别如下:
中序:D C E F B H G A K J L I M
后序:D F E C H G B K L J M I A
要求:⑴画出该二叉树;
⑵写出该二叉树的先序序列。
先序:A B C D E F G H I J K L M
2.在一段文字中,7个常用汉字及出现频度如下:的地于个和是有;
20 19 18 17 15 10 1
要求:⑴画出对应的Huffman树;⑵求出每个汉字的Huffman编码。
⑵01 的00 地
111 于110 个
101 和001 是
1000 有
3. 请画出右图所示的树所对应的二叉树。
七、算法设计题(15分)
若用二叉链表作为二叉树的存储表示,试针对以下问题编写递归算法:
(1) 统计二叉树中叶结点的个数。
(2) 以二叉树为参数,交换每个结点的左孩子和右孩子。
(1) 统计二叉树中叶结点个数
int leaf ( BinTreeNode * ptr ) {if ( ptr == NULL ) return 0;
else if ( ptr->leftChild == NULL && ptr->rightChild == NULL ) return 1;
else return leaf ( ptr->leftChild ) + leaf ( ptr->rightChild }
void exchange ( BinTreeNode * ptr )
{
BinTreeNode<Type> * temp;
if ( ptr->leftChild != NULL || ptr->rightChild != NULL )
{temp = ptr->leftChild;
ptr->leftChild = ptr->rightChild;} }。