计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编6
数据结构历年试题及答案汇编
数据结构基础历年试题汇编一、2006年上半年●在以下情形中,___(35)___适合于采用队列数据结构。
(35)A.监视一个火车票售票窗口等待服务的客户D.描述一个组织中的管理机构C.统计一个商场中的顾客数D.监视进入*住宅楼的访客●元素3、1、2依次全部进入一个栈后,陆续执行出栈操作,得到的出栈序列为___(36)___。
(36)A.3、2、1 B.3、1、2 C.1、2、3 D.2、1、3●一棵二叉树如下图所示,若采用顺序存储结构,即用一维数组元素存储该二叉树中的结点(根结点的下标为1,若*结点的下标为i,则其左孩子位于下标2i处、右孩子位于下标2i+1处),则该数组的大小至少为___(37)___;若采用二叉链表存储该二叉树(各个结点包括结点的数据、左孩子指针、右孩子指针),则该链表中空指针的数目为___(38)___。
(37)A.6 B.10 C.12 D.15(38)A.6 B.7 C.12 D.14●以下各图用树结构描述了7个元素之间的逻辑关系,其中___(39)___适合采用二分法查找元素。
●对于二维数组a[0…4,1…5],设每个元素占1个存储单元,且以行为主序存储,则元素a[2,1]相对于数组空间起始地址的偏移量是___(40)___。
(40)A.5 B.10 C.15 D.25●若n表示问题的规模、O(f(n))表示算法的时间复杂度随n变化的增长趋势,则算法时间复杂度最小的是___(59)___。
(59)A.O(n2)B.O(n)C. O(log n)D.O(nlog n)二、2006年下半年●在链表结构中,采用(35)可以用最少的空间代价和最高的时间效率实现队列结构。
(35)A.仅设置尾指针的单向循环链表 B.仅设置头指针的单向循环链表C.仅设置尾指针的双向链表D.仅设置头指针的双向链表●若需将一个栈 S 中的元素逆置,则以下处理方式中正确的是(36)。
(36)A.将栈 S 中元素依次出栈并入栈 T,然后栈 T 中元素依次出栈并进入栈 SB.将栈 S 中元素依次出栈并入队,然后使该队列元素依次出队并进入栈 SC.直接交换栈顶元素和栈底元素D.直接交换栈顶指针和栈底指针●已知 N 个数已存入数组 A[1..M]的前 N 个元素中(N<M),为在 A[i](1≤i≤N)之前插入一个新数,应先(37),以挪出一个空闲位置插入该数。
计算机专业基础综合数据结构(集合)历年真题试卷汇编6
计算机专业基础综合数据结构(集合)历年真题试卷汇编6(总分:58.00,做题时间:90分钟)一、填空题(总题数:7,分数:14.00)1.已知N元整型数组a存放N个学生的成绩,已按由大到小排序,以下算法是用对分(折半)查找方法统计成绩大于或等于x分的学生人数,请填空使之完善。
#define N/*学生人数*/intuprx(int a[N],int x) /*函数返回大于等于x分的学生人数*/ {int head=1,mid,rear=N; do{mid=(head+rear)/2;if(x<=a[mid]) (1) else(2); }while((3)); if(a[head](分数:2.00)__________________________________________________________________________________________ 正确答案:(正确答案:(1)head=mid+1 (2)rear=mid-1 (3)head≤rear//编者注:参数应为a[N+1])解析:2.下列程序段search(a,n,k)在数组a的前n(n≥1)个元素中找出第k(1≤k≤n)小的值。
这里假设数组a 中各元素的值都不相同,请填上适当的语句使得整个程序完整。
define NAXN 100 int a[MAXN],n,k;int search(int a[],int n,int k) {intlow,high,i,j,m,t;k--,low=0;j=high;do(t=a[ltow];i=low j=high; do{while(i<j&&t<j&&t>=a[j])i++; if(i(分数:2.00)__________________________________________________________________________________________ 正确答案:(正确答案:(1)il=k (2)i+1 (3)i一1 (4)il=k)解析:3.下列算法是利用折半查找算法在一个有序表中插入一个元素X,并保持表的有序性。
计算机专业基础综合数据结构(排序)历年真题试卷汇编1
计算机专业基础综合数据结构(排序)历年真题试卷汇编1(总分:72.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:30.00)1.下列序列中,( )是执行第一趟快速排序后所得的序列。
【福州大学1998一、9(2分)】A.[68,11,18,69] [23,93,73]B.[68,11,69,23] [18,93,73]C.[93,73][68,11,69,23,18] √D.[68,11,69,23,18] [93,73]枢轴是73。
2.适合并行处理的排序算法是( )。
【西安电子科技大学2005一、8(1分)】【电子科技大学2005一、8(1分)】A.选择排序B.快速排序√C.希尔排序D.基数排序3.一组记录的关键字为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为( )。
【北京交通大学2005一、8(2分)【燕山大学2001一、4(2分)】A.(38,40,46,56,79,84)B.(40,38,46,79,56,84)C.(40,38,46,56,79,84) √D.(40,38,46,84,56,79)如何对一趟快速排序的结果在最短的时间内做出正确判断,这里给出建议:首先84应该不动,所以D排除了;接着40应调到序列首,所以A排除了;接着79应调到移走40的空位上,B排除了。
选择答案C,不必再继续做了(假定确有唯一正确答案)。
4.下列排序算法中,( )算法可能会出现下面的情况:初始数据有序时,花费的时间反而最多。
【中南大学2005一、4(2分)】A.快速排序√B.堆排序C.希尔排序D.冒泡排序5.将一组无序的数据重新排列成有序序列,其方法有:( )。
【武汉理工大学2004一、8(3分)】A.拓扑排序B.快速排序√C.堆排序√D.基数排序√6.就平均性能而言,目前最好的内排序方法是( )排序法。
【西安电子科技大学1998一、9(2分)】A.冒泡B.希尔插,AC.交换D.快速√7.如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序的序列,用( )方法最快。
栈和队列习题及答案
栈和队列习题及答案【篇一:栈和队列练习题答案】xt>一、填空题1. 线性表、栈和队列都是结构,可以在线性表的在栈顶插入和删除元素;对于队列只能在队尾插入和队首删除元素。
2. 栈是一种特殊的线性表,允许插入和删除运算的一端称为。
不允许插入和删除运算的一端称为栈底。
3. 是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。
二、判断正误(√)1. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。
(√)2. 对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。
正确,都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。
错,他们都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。
(√)4. 栈和队列的存储方式既可是顺序方式,也可是链接方式。
(√)5. 两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。
错,有可能。
三、单项选择题(b)1.栈中元素的进出原则是A.先进先出B.后进先出C.栈空则进D.栈满则出(c)2.若已知一个栈的入栈序列是1,2,3,?,n,其输出序列为p1,p2,p3,?,pn,若p1=n,则pi为A.i B.n-iC.n-i+1 D.不确定解释:当p1=n,即n是最先出栈的,根据栈的原理,n必定是最后入栈的(事实上题目已经表明了),那么输入顺序必定是1,2,3,?,n,则出栈的序列是n,?,3,2,1。
(若不要求顺序出栈,则输出序列不确定)(d)3.数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式为(A)r-f; (B)(n+f-r)% n; (C)n+r-f;(D)(n+r -f)% n e:①1 ②2 ③ 3 ④ 0四、阅读理解1. 【严题集3.3②】写出下列程序段的输出结果(栈的元素类型selem type为char)。
计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编2
计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编2(总分:64.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:30.00)1.某表达式的前缀形式为:+-*ABCD/E/F+GH,它的中缀形式为( )。
【中国科学技术大学1992八、7(1分)】A.A B *C-D+E/F/G+HC.A B* C-D+E/(F/(G+H)) √D.A B*(C-D) +E/(G+H)2.表达式a * (b+c)一d的后缀表达式是( )。
【南京理工大学2001一、2(1.5分)】A.abcd * +一B.abc+ * d- √C.abc * +d-D.-+ * abcd3.与中缀表达式a * b+c/d-e等价的前缀表达式是( )。
【华中科技大学2006一、5(2分)】A.一+*ab/cde √B.*+/-abcdeC.abcde*+/一D.+*ab-/cde4.利用栈求表达式的值时,设立操作数栈OPND,设OPND只有两个存储单元,在下列表达式中,不发生上溢的是( )。
【四川大学2005】A.A-B*(C-D)B.(A-B)*C-D √C.(-B*C)一DD.(A一B)*(C-D)5.有六个元素6,5,4,3,2,1的顺序进栈,问下列哪一个不是合法的出栈序列?( )【北方交通大学2001一、3(2分)】A.5 4 3 6 12B.4 5 3 1 2 6C.3 4 6 5 2 1 √D.2 3 4 1 5 66.设栈的输入序列是1,2,3,4,则( )不可能是其出栈序列。
【中科院计算所2000一、10(2分)】【烟台大学2007一、4(2分)】A.1,2,4,3B.2,1,3,4C.1,4,3,2D.4,3,1,2 √E.3,2,1,47.四个元素1,2,3,4依次进栈,出栈次序不可能出现( )种情况。
【北京邮电大学2005一、1(2分)】A.1,2,3,4B.4,1,3,2 √C.1,4,3,2D.4,3,2,18.如进栈序列1,2,3,4,5。
计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编2
计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编2(总分:64.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:30.00)1.某表达式的前缀形式为:+-*ABCD/E/F+GH,它的中缀形式为( )。
【中国科学技术大学1992八、7(1分)】A.A B *C-D+E/F/G+HC.A B* C-D+E/(F/(G+H)) √D.A B*(C-D) +E/(G+H)2.表达式a * (b+c)一d的后缀表达式是( )。
【南京理工大学2001一、2(1.5分)】A.abcd * +一B.abc+ * d- √C.abc * +d-D.-+ * abcd3.与中缀表达式a * b+c/d-e等价的前缀表达式是( )。
【华中科技大学2006一、5(2分)】A.一+*ab/cde √B.*+/-abcdeC.abcde*+/一D.+*ab-/cde4.利用栈求表达式的值时,设立操作数栈OPND,设OPND只有两个存储单元,在下列表达式中,不发生上溢的是( )。
【四川大学2005】A.A-B*(C-D)B.(A-B)*C-D √C.(-B*C)一DD.(A一B)*(C-D)5.有六个元素6,5,4,3,2,1的顺序进栈,问下列哪一个不是合法的出栈序列?( )【北方交通大学2001一、3(2分)】A.5 4 3 6 12B.4 5 3 1 2 6C.3 4 6 5 2 1 √D.2 3 4 1 5 66.设栈的输入序列是1,2,3,4,则( )不可能是其出栈序列。
【中科院计算所2000一、10(2分)】【烟台大学2007一、4(2分)】A.1,2,4,3B.2,1,3,4C.1,4,3,2D.4,3,1,2 √E.3,2,1,47.四个元素1,2,3,4依次进栈,出栈次序不可能出现( )种情况。
【北京邮电大学2005一、1(2分)】A.1,2,3,4B.4,1,3,2 √C.1,4,3,2D.4,3,2,18.如进栈序列1,2,3,4,5。
数据结构试题及答案(10套)
数据结构试题及答案(10套)数据结构试题及答案(10套)根据您的需求,我为您准备了10套数据结构试题及答案。
每套试题包含以下几个部分:选择题、填空题、编程题及答案解析。
下面是试题的具体内容:第一套试题:选择题:1. 在数据结构中,什么是栈?A. 先进先出(FIFO)的数据结构B. 后进先出(LIFO)的数据结构C. 随机访问的数据结构D. 无序排列的数据结构2. 以下哪种操作与队列的特性不相符?A. 入队操作B. 出队操作C. 查找操作D. 获取队首元素填空题:1. ______ 是一种动态集合,支持插入、删除和查找等操作。
2. 在二叉搜索树中,中序遍历的结果是________。
编程题:实现一个栈的数据结构,并包含以下操作:- push(x):将元素 x 压入栈中- pop():删除栈顶的元素并返回该元素- top():获取栈顶元素的值- empty():检查栈是否为空答案解析:选择题:B、C填空题:1. 集合 2. 升序序列编程题:略第二套试题:选择题:1. 以下哪个数据结构是一种广度优先搜索的应用?A. 栈B. 队列C. 堆D. 链表2. 在链表中,如果要删除一个节点,只给出该节点的指针,那么需要通过什么方式完成删除操作?A. 直接删除该节点B. 指向该节点的前一个节点的指针C. 指向该节点的后一个节点的指针D. 无法完成删除操作填空题:1. 树是一种________的数据结构。
2. 二叉树每个节点最多有______个子节点。
编程题:实现一个队列的数据结构,并包含以下操作:- enqueue(x):将元素 x 入队- dequeue():删除队首的元素并返回该元素- peek():获取队首元素的值- is_empty():检查队列是否为空答案解析:选择题:B、B填空题:1. 分层组织 2. 2编程题:略(以下部分省略)通过以上的题目,您可以对数据结构的知识点进行综合练习和复习。
每套试题包含了不同难度和类型的题目,能够帮助您全面了解和掌握数据结构的概念和操作。
数据结构历年真题及解析题
数据结构历年真题及解析题一、选择题1. 下列关于数组的描述,正确的是()。
A. 数组在内存中是连续存放的。
B. 数组一经定义,其长度不可改变。
C. 数组的每个元素可以是不同的数据类型。
D. 数组可以通过下标随机访问元素。
答案:A、B、D2. 链表相比于数组的优势在于()。
A. 内存使用更高效。
B. 插入和删除操作更加方便。
C. 可以通过下标随机访问元素。
D. 存储空间可以动态分配。
答案:B、D3. 栈(Stack)的特点是()。
A. 先进先出(FIFO)。
B. 后进先出(LIFO)。
C. 只能在一端进行插入和删除。
D. 可以通过索引随机访问元素。
答案:B、C4. 队列(Queue)与栈的主要区别在于数据的()。
A. 存取方式。
B. 存储结构。
C. 操作速度。
D. 内存占用。
答案:A5. 二叉树的前序遍历的顺序是()。
A. 根-左-右。
B. 左-根-右。
C. 右-根-左。
D. 根-右-左。
答案:A6. 快速排序算法的时间复杂度在最坏情况下是()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(n^3)答案:C7. 哈希表的冲突解决方法中,开放定址法的特点是()。
A. 通过增加哈希表的大小来解决冲突。
B. 通过链表来链接具有相同哈希值的元素。
C. 寻找表中下一个空闲位置来存储冲突元素。
D. 重新计算哈希值,直到找到空闲位置。
答案:C8. 图的遍历算法中,深度优先搜索(DFS)与广度优先搜索(BFS)的主要区别在于()。
A. DFS使用递归,BFS使用队列。
B. DFS使用栈,BFS使用递归。
C. DFS使用队列,BFS使用栈。
D. DFS和BFS都使用链表。
答案:A9. 堆(Heap)结构中,最大堆的性质是()。
A. 父节点的值小于子节点。
B. 父节点的值大于子节点。
C. 父节点的值等于子节点。
D. 没有固定的大小关系。
答案:B10. 动态规划算法通常用于解决()类型的问题。
A. 排序。
计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编7
计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编7(总分:74.00,做题时间:90分钟)一、单项选择题(总题数:19,分数:38.00)1.若循环队列使用C数组A[m]存放其数据元素,已知头指针front指向队首元素,尾指针rear指向队尾元素后的空单元,则当前队列中的元素个数为( )。
【华中科技大学2007一、3(2分)】A.(rear—front+m)%m √B.rear-front+1C.rear-frontD.rear-front-12.设顺序队列的容量为MaxSize,其头指针为front,尾指针为rear,空队列的条件为( )。
【电子科技大学2008一、4(2分)】A.front=rear √B.front=-MaxSizeC.front+1=rearD.rear=03.循环队列存储在数组A[0.m]中,则入队时的操作为( )。
【中山大学1999一、6(1分)】A.rear=rear+1B.rear=(rear-H)mod(m一1)C.rear=(rear+1)modmD.rear=(rear+1)mod(m+1) √4.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?( )【浙江大学1999四、1(4分)】A.1和5B.2和4 √C.4和2D.5和15.已知输入序列为abcd,经过输出受限的双向队列后能得到的输出序列有( )。
【西安交通大学1996三、3(3分)】A.dacbB.cadbC.dbcaD.bdacE.以上答案都不对√双端队列的输出序列求解见四、36。
6.若以1234作为双端队列的输入序列,则既不能由输入受限的双端队列得到,也不能由输出受限的双端队列得到的输出序列是( )。
【西安电子科技大学1996一、5(2分)】【烟台大学2007一、5(2分)】A.1234B.4132C.4231 √D.42137.最大容量为n的循环队列,队尾指针是rear,队头是frunt,则队空的条件是( )。
计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编1
计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编1(总分:56.00,做题时间:90分钟)一、综合题(总题数:24,分数:56.00)1.将两个栈S1和S2存入数组V[1.m]应如何安排最好?请写出栈顶指针top的初始值和判断栈空、栈满的条件是什么?【东南大学1998一、5(6分)】【烟台大学2007四、1(5分)】(分数:2.00)__________________________________________________________________________________________正确答案:(正确答案:设栈S1和栈S2共享向量V[1一m],初始时,栈S1的栈顶指针top[0]=0,栈S2的栈顶指针top[1]=m+1,当top[0]=0时为左栈空,top[1]=m+1时为右栈空;当top[0]=0并且top[1]=m+1时为全栈空。
当top[1]-top[0]=1时为栈满。
)解析:2.若有一个一维数组A,它的元素下标从1开始到MAX。
要在数组A中建立两个栈共享同一空间,栈S1的栈顶指针为top1,栈S2的栈顶指针为top2,为了最大限度地利用数组A的空间,则应该如何共享?栈满和栈空的条件是什么?【北京理工大学2006十一、3(5分)】(分数:2.00)__________________________________________________________________________________________正确答案:(正确答案:两栈共享数组A,top1=0时S1栈空,top2=MAX+1时,S2栈空;top2一top1=1时栈满。
)解析:3.设输入序列为a,b,c,d,试写出借助一个栈可得到的两个输出序列和两个不能得到的输出序列。
【北京科技大学2001一、4(2分)】(分数:2.00)__________________________________________________________________________________________正确答案:(正确答案:n个元素的排列有n!种,但借助栈结构,n个入栈元素只可得到1/(n+1)((2n)!/(n!*n!))种出栈序列,这个数小于,l!。
计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编4
计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编4(总分:60.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:30.00)1.当字符序列工作为下图输入时,输出长度为3的,且可用作C语言标识符的序列的有( )。
【浙江大学2004二(5分)】A.4个B.5个C.3个√D.6个2.和顺序栈相比,链栈有一个比较明显的优势是( )。
【北京理工大学2006五、6(1分)A.通常不会出现栈满的情况√B.通常不会出现栈空的情况C.插入操作更容易实现D.删除操作更容易实现3.若一个栈以向量V[1,n]存储,初始栈顶指针top为n+1,则下面x进栈的正确操作是( )【南京理工大学1998一、13(2分)】A.top=top+1; V[top]=xB.V[top]=x;top=top+1C.top=top—1; V[top]=x √D.V[top]=x;top=top一14.若栈采用顺序存储方式存储,现两栈共享空间V[1,m],top[i]代表第i个栈(i=1,2)栈顶栈1的底在V[1],栈2的底在V[m],则栈满的条件是( )。
【南京理工大学1999一、14(1分)】【江苏大学2005一、2(2分)】A.1top[2]一top[1]1=0B.top[1]+1=top[2] √C.top[1]+top[2]=mD.top[1]=top[2]5.栈在( )中应用。
【中山大学1998二、3(2分)】A.递归调用B.子程序调用C.表达式求值D.A,B,C √6.向一个栈顶指针为h的带头结点的链栈中插入指针S所指的结点时,应执行( )。
【北京理工大学2005十一、6(1分)】A.h->next=s;B.s一>next=h;C.s一>next=h;h一>next=s;D.s一>next=-h一>next;h一>next=s;√7.一个递归算法必须包括( )。
【武汉大学2000二、21A.递归部分B.终止条件和递归部分√C.迭代部分D.终止条件和迭代部分8.function calc(x,y:integer):integer; begin if y=1 then calc:=x else calc:=calc(x,y一1)+x end;a、b均为正整数,则cale(a,b)=( )。
计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编5
计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编5(总分:80.00,做题时间:90分钟)一、单项选择题(总题数:28,分数:56.00)1.对于栈操作数据的原则是____。
【青岛大学2001年】A.先进先出B.后进先出√C.后进后出D.不分顺序考查栈的概念。
栈是一种后进先出的数据结构。
2.在初始为空的堆栈中依次插入元素f,e,d,c,b,a以后,连续进行了三次删除操作,此时栈项元素是____。
【北京航空航天大学2002年】A.cB.d √C.bD.e考查栈的基本性质。
数据入栈时,先入栈的元素后出栈,只需简单地画图即可看出栈顶元素应是d。
3.六个不同元素依次进栈,能得到____种不同的出栈序列。
【北京邮电大学2007年】A.42B.82C.132 √D.192考查栈的基本性质。
设有n个不同元素时,有f(n)种出栈序列。
若第一个元素是第i个出栈的,则在这个元素之前是编号为2~i的元素出栈,之后是编号为i+1~n的元素出栈。
所以第一个元素是第i个出栈对应f(i-1)*f(n—i)种出栈顺序。
f(1)=1 f(2)=2 f(3)=f(2)+f(1)*f(1)+f(2)=5 f(4)=f(3)+f(1)+f(2)十f(2)+f(1)+f(3)=14 f(5)=f(4)+(1)+f(3)+“2)+f(2)+f(3)*(1)+f(4)=42f(6)=f(5)+(1)+f(4)+f(2)+f(3)+f(3),f(2)+f(4)+f(1)+f(5)=42+14+10+10+14+42=1324.入栈序列为1,2,3,4,5,则可能得到的出栈序列是____。
【上海交通大学2005】A.12534B.31254C.32541 √D.14235考查栈的性质。
C的情况是由以下操作得到:1、2、3先入栈,接着3弹栈,2弹栈,然后4、5入栈,5弹栈,4弹栈,最后1弹栈。
其他各种情况,都不可能由栈的操作得到。
5.一个栈的输入序列为1,2,3,4,5,则下列序列中不可能是栈的输出序列的是____。
第三章 栈、队列和数组 历年试题
第三章栈、队列和数组一、单项选择题201010--7.常用于函数调用的数据结构是( )A.栈B.队列C.链表D.数组201010--8.二维数组A[n][m]以列优先顺序存储,数组A中每个元素占用1个字节,A [1][1]为首元素,其地址为0,则元素A[i][j]的地址为( )A.(i-1)×m+(j-1)B.(j-1)×n+(i-1)C.(j-1)×n+iD.j×n+i201001--10.当利用大小为n的数组顺序存储一个队列时,该队列的最大容量为( )A.n-2B.n-1C.nD.n+1201001--13.循环队列存储在数组元素A[0]至A[m]中,则入队时的操作为( )A.rear=rear+1B.rear=(rear+1)%(m-1)C.rear=(rear+1)%mD.rear=(rear+1)%(m+1)201001--15.对称矩阵A[N][N],A[1][1]为首元素,将下三角(包括对角线)元素以行优先顺序存储到一维数组元素T[1]至T[N(N+1)/2]中,则任一上三角元素A[i][j]存于T[k]中,下标k为( )A.i(i-1)/2+jB.j(j-1)/2+iC.i(j-i)/2+1D.j(i-1)/2+l200910--4.元素的进栈次序为A,B,C,D,E,则退栈中不可能的序列是()A. A,B,C,D,EB. B,C,D,E,AC. E,A,B,C,DD. E,D,C,B,A200910--11.在栈中进行插入和删除操作的一端称为()A.栈顶B.栈底C.任意位置D.指定位置200910--15.带表头结点链队列的队头和队尾指针分别为front和rear,则判断队空的条件为()A.front==rea1rB.front!=NULLC.rear!=NULLD.front==NULL200901--5.向一个栈顶指针为hs的链栈中插入一个*s结点时,应执行的操作为()A.hs—>next=s;B.s—>next=hs;hs=s;C.s—>next=hs—>next;hs—>next=s;D.s—>next=hs;hs=hs—>next;200901--6.设循环队列的元素存放在一维数组Q[0‥30]中,队列非空时,front指示队头元素的前一个位置,rear指示队尾元素。
计算机专业基础综合数据结构(图)历年真题试卷汇编6.doc
计算机专业基础综合数据结构(图)历年真题试卷汇编6(总分:60.00,做题时间:90分钟)一、单项选择题(总题数:6,分数:12.00)1.有n个顶点、e条边的图G采用邻接表存储,则拓扑排序算法的时间复杂度为( )。
【南京理工大学2005一、2(1分)】(分数:2.00)A.O(n)B.O(n+e)C.O(n * e)D.O(n 2 )2.在下列网中,( )是边不带权值的图。
【华南理工大学2007】(分数:2.00)A.邮电图B.AOV网C.公路网D.AOE网3.关键路径是AOE网中( )。
【中南大学2003一、10(1分)】(分数:2.00)A.从始点到终点的最短路径B.从始点到终点的最长路径C.从始点到终点的边数最多的路径D.从始点到终点的边数最少的路径4.下面关于求关键路径的说法不正确的是( )。
【南京理工大学1998一、12(2分)】(分数:2.00)A.求关键路径是以拓扑排序为基础的B.一个事件的最早开始时间同以该事件为尾的弧的活动最早开始时间相同C.一个事件的最迟开始时间为以该事件为尾的弧的活动最迟开始时间与该活动的持续时间的差D.关键活动一定位于关键路径上5.下列关于AOE网的叙述中,不正确的是( )。
【北方交通大学1999一、7(3分)】【北京工业大学1999一、1(2分)】【哈尔滨工业大学2004二、3(1分)】(分数:2.00)A.关键活动不按期完成就会影响整个工程的完成时间B.任何一个关键活动提前完成,那么整个工程将会提前完成C.所有的关键活动提前完成,那么整个工程将会提前完成D.某些关键活动若提前完成,那么整个工程将会提前完成6.下列有关图的说法错误的是( )。
【中南大学2003二、19(1分)】(分数:2.00)A.在有向图中,出度为0的结点称为叶子B.用邻接矩阵表示图,容易判断任意两个结点之间是否有边相连,并求得各结点的度C.按深度方向遍历图和先根次序遍历树类似,得到的结果是唯一的D.若有向图G中从结点Vi到结点Vj有一条路径,则在图G的结点的线性序列中结点V i必在结点V j之前的话,则称为一个拓扑序列二、填空题(总题数:10,分数:20.00)7.若一个具有n个顶点、e条边的无向图是一个森林,则该森林中必有__________棵树。
计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编6
计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编6(总分:60.00,做题时间:90分钟)一、单项选择题(总题数:14,分数:28.00)1.为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。
该缓冲区的逻辑结构应该是( )。
【2009年全国试题1(2)分】(分数:2.00)A.栈B.队列√C.树D.图解析:2.设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,j,g=g依次进入栈S。
若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是( )。
【2009年全国试题2(2)分】(分数:2.00)A.1B.2C.3 √D.4解析:解析:按元素出队顺序计算栈的容量。
b进栈时栈中有a,b出栈,cd进栈,栈中有acd,dc出栈,ef进栈,栈中有aef,fea出栈,栈空,g进栈后出栈。
所以栈S的容量至少是3。
3.若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是( )。
【2010年全国试题1(2)分】(分数:2.00)A.d,c,e,b,f,aB.c,b,d,a,e,fC.b,c,a,e,f,dD.a,f,e,d,c,b √解析:4.某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作。
若元素a,b,c,d,e依次入此队列后再进行出队操作,则不可能得到的出队序列是( )。
【2010年全国试题2(2)分】(分数:2.00)A.b,a,c,d, eB.d,b,a,c,eC.d,b,c,a,e √D.e,c,b,a,d解析:解析:a先入队,b和c可在a的任一端入队,选项A、B、D都符合要求,只有选项C不可能出现。
双端队列出队结果的分析可参见四、36。
5.元素a,b,c,d,e依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素d开头的序列个数是( )。
计算机专业基础综合数据结构排序历年真题试卷汇编6_真题-无答案
计算机专业基础综合数据结构(排序)历年真题试卷汇编6(总分108,考试时间90分钟)1. 单项选择题1. 某内部排序方法的稳定性是指____。
【南京理工大学1997年】A. 该排序算法不允许有相同的关键字记录B. 该排序算法允许有相同的关键字记录C. 平均时间为O(nlogn)的排序方法D. 以上都不对2. 若要求尽可能快地对序列进行稳定的排序,则应选____。
【北京邮电大学2001年】A. 快速排序B. 归并排序C. 冒泡排序D. 根排序3. 下列排序方法中,____是稳定的排序方法。
【北方交通大学2001】A. 直接选择排序B. 二分法插入排序C. 希尔排序D. 快速排序4. 对有n个记录的表做直接插入排序,在最好情况下,需比较____次关键字。
【华中科技大学2006年】A. n-1B. n+1C. n/2D. n(n-1)/25. 对n个不同的数据利用冒泡法从小到大排序,在下列哪种情况下元素交换的次数最多____。
【北京交通大学2007年】A. 从大到小排列好的B. 从小到大排列好的C. 元素无序D. 元素基本有序6. 采用简单选择排序,比较次数与移动次数分别为____。
【南京理工大学2000年】A. O(n),O(10gn)B. O(logn),O(n*n)C. O(n*n),O(n)D. O(nlogn),O(n)7. 希尔排序属于____。
【太原科技大学2006年】A. 插入排序B. 交换排序C. 选择排序D. 归并排序8. 对序列{15,9,7,8,20,一1,4}用希尔排序方法排序,经一趟后序列变为{15,一1,4,8,20,9,7}则该次采用的增量是____。
【南京理工大学1999年】A. 1B. 4C. 3D. 29. 有些排序算法在每趟排序过程中,都会有一个元素被放置到其最终位置上,下列算法不会出现此种情况的是____。
【北京交通大学2005年】A. 希尔排序B. 堆排序C. 冒泡排序D. 快速排序10. 从未排序序列中选择一个元素,该元素将当前参加排序的那些元素分成前后两个部分,前一部分中所有元素都小于等于所选元素,后一部分中所有元素都大于等于所选元素,而所选元素处在排序的最终位置。
计算机专业基础综合数据结构栈和队列历年真题试卷汇编7_真题-无答案
计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编7(总分74,考试时间90分钟)1. 单项选择题1. 若循环队列使用C数组A[m]存放其数据元素,已知头指针front指向队首元素,尾指针rear指向队尾元素后的空单元,则当前队列中的元素个数为( )。
【华中科技大学2007一、3(2分)】A. (rear—front+m)%mB. rear-front+1C. rear-frontD. rear-front-12. 设顺序队列的容量为MaxSize,其头指针为front,尾指针为rear,空队列的条件为( )。
【电子科技大学2008一、4(2分)】A. front=rearB. front=-MaxSizeC. front+1=rearD. rear=03. 循环队列存储在数组A[0.m]中,则入队时的操作为( )。
【中山大学1999一、6(1分)】A. rear=rear+1B. rear=(rear-H)mod(m一1)C. rear=(rear+1)modmD. rear=(rear+1)mod(m+1)4. 若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?( )【浙江大学1999四、1(4分)】A. 1和5B. 2和4C. 4和2D. 5和15. 已知输入序列为abcd,经过输出受限的双向队列后能得到的输出序列有( )。
【西安交通大学1996三、3(3分)】A. dacbB. cadbC. dbcaD. bdacE. 以上答案都不对6. 若以1234作为双端队列的输入序列,则既不能由输入受限的双端队列得到,也不能由输出受限的双端队列得到的输出序列是( )。
【西安电子科技大学1996一、5(2分)】【烟台大学2007一、5(2分)】A. 1234B. 4132C. 4231D. 42137. 最大容量为n的循环队列,队尾指针是rear,队头是frunt,则队空的条件是( )。
计算机专业基础综合数据结构(集合)历年真题试卷汇编7
计算机专业基础综合数据结构(集合)历年真题试卷汇编7(总分:72.00,做题时间:90分钟)一、单项选择题(总题数:21,分数:42.00)1.对线性表进行二分查找时,要求线性表必须( )。
【南京理工大学2005一、11(1分)】【燕山大学2001一、5(2分)】(分数:2.00)A.以顺序方式存储B.以顺序方式存储,且数据元素有序。
√C.以链接方式存储D.以链接方式存储,且数据元素有序解析:2.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( )。
【南京理工大学1997一、7(2分)】(分数:2.00)A.必定快B.不一定C.在大部分情况下要快√D.取决于表递增还是递减解析:3.请指出在顺序有序表(2、5、7、10、14、15、18、23、35、41、52)中,用“折半查找法”查找关键字14需做的比较次数为( )。
【北京工业大学2005一、3(2分)】(分数:2.00)A.2B.3C.4 √D.5解析:4.折半查找有序表(5,8,10,22,36,50,53,88),若查找元素70,则需依次与表中元素(关键字)( )进行比较,查找结果是“失败”。
【华中科技大学2006一、11(2分)】(分数:2.00)A.36,53B.22,50,53,88 √C.36,53,88D.22,53,88解析:5.具有12个关键字的有序表,折半查找的平均查找长度为( )。
【中山大学。
1998二、10(2分)】【烟台大学2007一、17(2分)】(分数:2.00)A.3.1 √B.4C.2.5D.5解析:6.对一个长度为50的有序表进行折半查找,最多比较( )次就能查找出结果。
【北京邮电大学2005一、8(2分)】(分数:2.00)A.6 √B.7C.8D.9解析:解析:长度50(31<50<63)的有序表的判定树高度是6,所以,最多比较6次。
7.折半查找有序表(2,10,25,35,40,65,70,75,81,82,88,100),若查找元素75,需要依次与表中元素( )进行比较。
十套数据结构试题及答案
数据构造试卷〔一〕一、单项选择题〔每题 2 分,共20分〕1.栈和队列的共同特点是( a )。
A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进展插入运算时( d ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据构造中哪一个是非线性构造?( d )A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
cA.688 B.678 C.692 D.6965.树最适合用来表示( c )。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( d ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.假设有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进展二分查找,那么查找A[3]的比拟序列的下标依次为( c d)A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进展快速排序,所需要的辅助存储空间大致为 cA. O〔1〕B. O〔n〕C. O〔1og2n〕D. O〔n2〕9.对于线性表〔7,34,55,25,64,46,20,10〕进展散列存储时,假设选用H〔K〕=K %9作为散列函数,那么散列地址为1的元素有〔 c d〕个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( a )条边才能确保是一个连通图。
二、填空题〔每空1分,共26分〕1.通常从四个方面评价算法的质量:____时间正确性_____、____占用内存_易读性____、____复杂度__强壮性___和_____准确度_ 高效率___。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编6(总分:60.00,做题时间:90分钟)一、单项选择题(总题数:14,分数:28.00)1.为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。
该缓冲区的逻辑结构应该是( )。
【2009年全国试题1(2)分】(分数:2.00)A.栈B.队列√C.树D.图解析:2.设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,j,g=g依次进入栈S。
若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是( )。
【2009年全国试题2(2)分】(分数:2.00)A.1B.2C.3 √D.4解析:解析:按元素出队顺序计算栈的容量。
b进栈时栈中有a,b出栈,cd进栈,栈中有acd,dc出栈,ef进栈,栈中有aef,fea出栈,栈空,g进栈后出栈。
所以栈S的容量至少是3。
3.若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是( )。
【2010年全国试题1(2)分】(分数:2.00)A.d,c,e,b,f,aB.c,b,d,a,e,fC.b,c,a,e,f,dD.a,f,e,d,c,b √解析:4.某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作。
若元素a,b,c,d,e依次入此队列后再进行出队操作,则不可能得到的出队序列是( )。
【2010年全国试题2(2)分】(分数:2.00)A.b,a,c,d, eB.d,b,a,c,eC.d,b,c,a,e √D.e,c,b,a,d解析:解析:a先入队,b和c可在a的任一端入队,选项A、B、D都符合要求,只有选项C不可能出现。
双端队列出队结果的分析可参见四、36。
5.元素a,b,c,d,e依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素d开头的序列个数是( )。
【2011年全国试题2(2)分】(分数:2.00)A.3B.4 √C.5D.6解析:解析:元素d进栈时,元素a,b,c已在栈中,d出栈后,P可以在a,b,c任一元素的前面进栈并出栈,也可以在元素a后出栈,c,b,a必须依次出栈,所以元素d开头的序列个数是4。
6.已知循环队列存储在一维数组A[0.n-1]中,且队列非空时front和rear分别指向队头元素和队尾元素。
若初始时队列为空,且要求第1个进入队列的元素存储在A[0]处,则初始时front和rear的值分别是( )。
[2011年全国试题3(2)分】(分数:2.00)A.0,0B.0,n—1 √C.n一1,0D.n一1,n一1解析:解析:队列的入队在队尾,答案中B和D入队(0一1)+1)%n的结果为0,因为要求第1个进入队列的元素存储在A[0]处,且front和rear分别指向队头元素和队尾元素,故选B。
7.已知操作符包括“+”,“-”,“/”,“(’和’)’。
将中缀表达式a+b一a*((c+d)/e-f+g转换为等价的后缀表达式ab+acd+e/f*-g+时,用栈来存放暂时还不能确定运算次序的操作符。
若栈初始时为空,则转换过程中同时保存在栈中的操作符的最大个数是( )。
【2012年全国试题2(2)分】(分数:2.00)A.5 √B.7C.8D.1 1解析:8.一个栈的入栈序列为1,2,3,…,n,其出栈序列是p 1,p 2,p 3,…,p n。
若p 2 =3,则p 3可能取值的个数是( )。
【2013年全国试题2(2)分】(分数:2.00)A.n一3B.n一2C.n一1 √D.无法确定解析:解析:1,2先于3已入栈,且其中有一个已出栈,另一个在3入栈并出栈后可立即出栈。
从4到n,任何一个都可以入栈后立即出栈。
因此,p3可能的取值有,1一1个,故选C。
9.假设栈初始为空,将中缀表达式a/b+(c*d-e*f)g转换为等价的后缀表达式的过程中,当扫描到f时,栈中的元素依次是( )。
【2014年全国试题2(2)分】(分数:2.00)A.+(*一B.+(一* √C./+(*一*D./+一*解析:解析:求解过程请参见四、21。
10.循环队列存放在一维数组A[0.M-1]中,endl指向队头元素,end2指向队尾元素的后一个位置。
假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素,初始时为空。
下列判断队空和队满的条件中,正确的是( )。
【2014年全国试题3(2)分】(分数:2.00)A.队空:end1=end2;队满:end1=(end2+1)mod M √B.队空:end1=end2;队满:end2=(end1+1)modM-1)C.队空:end2=(end1+1)modM; 队满:end4=(end2+1)modMD.队空:end1=(end2+1)modM;队满:end2=(endl+1)modM-1)解析:11.已知程序如下:int s(int n){ return(n’<=0)’0=s(n-1)+n; }void main(){ cout<(分数:2.00)A.main()一>S(1)一>S(0) √B.S(0)一>S(1)一>main()C.main()一>S(0)一>S(1)D.S(1)一>S(0)一>main()解析:解析:主函数调用被调用函数,要做三件事:一是将实参和返回地址传给被调用函数保存,二是为被调用函数的参数和局部变量分配工作区,三是将控制权转给被调用函数的入口。
调用按后调用先返回,必须使用栈。
这里是主函数调用一个递归函数,递归函数调用自身,出口是参数为0。
被调用函数返回主调用函数前也完成三件事:保存被调用函数(过程)的计算结果;释放被调用函数(过程)的工作区,按被调用函数(过程)保存的返回地址将控制权交给调用函数(过程)。
12.一个栈的输入序列为1,2,3,…,n,若输出序列的第一个元素是n,输出第i(1≤f≤n)个元素是( )。
【电子科技大学2012一、4(2分)】【中山大学1999一、9(1分)】(分数:2.00)A.不确定B.n-iC.iD.n-i+l √解析:13.设栈的输入序列为1,2,3,…,n;输出序列为p1,p2,…,Pn!若p1=n,则当n≥i≥1时,p t为( );若存在k>1使p k =n,则当t>k时,P t为( )。
【中国科学技术大学1992八、8(1分)】(分数:2.00)A.p<subt=i+l √B.p i不确定√C.p i =n-(i-k)解析:14.中缀表达式(A+B)*(C-D)/(E-F*G)的后缀表达式是( )。
【北京邮电大学2005一、2(2分)】(分数:2.00)A.A+B*C-D/E-F*GB.AB+CD-*EFG*-/√C.AB+C*D-E/-G*D.ABCDEFG+*/-*解析:二、填空题(总题数:6,分数:12.00)15.若某堆栈初始为空,PUSH与POP分别表示对栈进行一次进栈与出栈操作,那么,对于输入序列a,b,c,d,e,经过PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH以后,输出序列是__________。
【北京航空航天大学2006一、3(1分)】(分数:2.00)__________________________________________________________________________________________ 正确答案:(正确答案:bc,栈中尚有ade)解析:16.在栈的ADT定义中,除初始化操作外,其他基本操作的初始条件都要求__________。
【北京理工大学2005二、1(2分)】(分数:2.00)__________________________________________________________________________________________ 正确答案:(正确答案:栈已存在)解析:17.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p 1,p 2,p 3…,p n,若p 1 =n,则p i为__________。
【北京交通大学2005二、2(2分)】(分数:2.00)__________________________________________________________________________________________正确答案:(正确答案:n~i+1)解析:18.栈是__________的线性表,其运算遵循__________的原则。
【北京科技大学1997一、3】(分数:2.00)__________________________________________________________________________________________正确答案:(正确答案:操作受限(或限定仅在表尾进行插入和删除操作)、后进先出)解析:19.堆栈是一种操作受限的线性表,它只能在线性表的__________进行插入和删除操作,对栈的访问是按照__________的原则进行的。
【暨南大学2010二、3(2分)】(分数:2.00)__________________________________________________________________________________________正确答案:(正确答案:一端,后进先出)解析:20.向栈中压入元素的操作是先__________,后__________。
【暨南大学2011二、5(2分)】(分数:2.00)__________________________________________________________________________________________正确答案:(正确答案:进栈,退栈)解析:三、判断题(总题数:10,分数:20.00)21.同一组不重复输入序列执行不同的入、出栈组合操作,所得结果也可能相同。
( )【北京邮电大学2005二、3(1分)】(分数:2.00)A.正确√B.错误解析:22.消除递归不一定需要使用栈。
( )【中科院计算所1998二、2(2分)】【中国科技大学1998二、2(2分)】(分数:2.00)A.正确√B.错误解析:解析:尾递归的消除就不需用栈。
23.栈是实现过程和函数等子程序所必需的结构。
( )【合肥工业大学2000二、2(1分)】(分数:2.00)A.正确√B.错误解析:24.栈和队列都是顺序存取的线性表,但它们对存取位置的限制不同。