数据结构试题三
数据结构试题及答案

8.8.(1,3,4,2),(1,3,2,4)
三、应用题
1.1.(22,40,45,48,80,78),(40,45,48,80,22,78)
2.2.q->llink=p; q->rlink=p->rlink; p->rlink->llink=q; p->rlink=q;
3.3.2,ASL=91*1+2*2+3*4+4*2)=25/9
int m;
while(i<j){
while (i<j && r[j]>x) j=j-1; if (i<j) {r[i]=r[j];i=i+1;}
while (i<j && r[i]<x) i=i+1; if (i<j) {r[j]=r[i];j=j-1;}
}
r[i]=x;
}
2.设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,其中集合A、B和C用链式存储结构表示。
(A) n,e(B) e,n(C) 2n,e(D) n,2e
8.设某强连通图中有n个顶点,则该强连通图中至少有()条边。
(A) n(n-1)(B) n+1(C) n(D) n(n+1)
9.设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列()方法可以达到此目的。
4.4.快速排序的最坏时间复杂度为___________,平均时间复杂度为__________。
5.5.设某棵二叉树中度数为0的结点数为N0,度数为1的结点数为N1,则该二叉树中度数为2的结点数为_________;若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有_______个空指针域。
数据结构第三章栈和队列3习题

第三章栈和队列试题一、单项选择题1.栈的插入和删除操作在()进行。
A. 栈顶B. 栈底C. 任意位置D. 指定位置2.当利用大小为n的数组顺序存储一个栈时,假定用top==n表示栈空,则向这个栈插入一个元素时,首先应执行()语句修改top指针。
A. top++;B. top--;C. top = 0;D. top;3.若让元素1,2,3依次进栈,则出栈次序不可能出现()种情况。
A. 3, 2, 1B. 2, 1, 3C. 3, 1, 2D. 1, 3, 24.在一个顺序存储的循环队列中,队头指针指向队头元素的()位置。
A. 前一个B. 后一个C. 当前D. 后面5.当利用大小为n的数组顺序存储一个队列时,该队列的最大长度为()。
A. n-2B. n-1C. nD. n+16.从一个顺序存储的循环队列中删除一个元素时,需要()。
A. 队头指针加一B. 队头指针减一C. 取出队头指针所指的元素D. 取出队尾指针所指的元素7.假定一个顺序存储的循环队列的队头和队尾指针分别为front和rear,则判断队空的条件为()。
A. front+1 == rearB. rear+1 == frontC. front == 0D. front == rear8.假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为()。
A. front == rearB. front != NULLC. rear != NULLD. front == NULL9.设链式栈中结点的结构为(data, link),且top是指向栈顶的指针。
若想在链式栈的栈顶插入一个由指针s所指的结点,则应执行操作()。
A. top->link = s;B.s->link = top->link; top->link = s;C. s->link = top; top = s;D. s->link = top; top = top->link;10.设链式栈中结点的结构为(data, link),且top是指向栈顶的指针。
数据结构试题及答案(十套)

一、单选题(每题 2 分,共20分)1.对一个算法的评价,不包括如下(B )方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。
A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3.对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35.AOV网是一种()。
A.有向图B.无向图C.无向无环图D.有向无环图6.采用开放定址法处理散列表的冲突时,其平均查找长度()。
A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。
A.值B.函数C.指针D.引用8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。
A.行号B.列号C.元素值D.非零元素个数9.快速排序在最坏情况下的时间复杂度为()。
A.O(log2n) B.O(nlog2n)C.0(n) D.0(n2)10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A. O(n)B. O(1)C. O(log2n)D. O(n2)二、运算题(每题 6 分,共24分)1.数据结构是指数据及其相互之间的______________。
当结点之间存在M对N (M:N)的联系时,称这种结构为_____________________。
数据结构试题及答案

数据结构试卷(一)一、单选题(每题2 分,共20分)1.栈和队列的共同特点是( )。
A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进行插入运算时( ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?( )A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
A.688 B.678 C.692 D.6965.树最适合用来表示( )。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A. 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的元素有()个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。
A.5B.6C.7D.8二、填空题(每空1分,共26分)1.通常从四个方面评价算法的质量:_________、_________、_________和_________。
2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。
数据结构第三章考试题库(含答案)

第3章栈和队列一选择题1. 对于栈操作数据的原则是()。
【青岛大学2001 五、2(2分)】A. 先进先出B. 后进先出C. 后进后出D. 不分顺序2. 在作进栈运算时,应先判别栈是否( ①),在作退栈运算时应先判别栈是否( ②)。
当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为( ③)。
为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的( ④)分别设在这片内存空间的两端,这样,当( ⑤)时,才产生上溢。
①, ②: A. 空 B. 满 C. 上溢 D. 下溢③: A. n-1 B. n C. n+1 D. n/2④: A. 长度 B. 深度 C. 栈顶 D. 栈底⑤: A. 两个栈的栈顶同时到达栈空间的中心点.B. 其中一个栈的栈顶到达栈空间的中心点.C. 两个栈的栈顶在栈空间的某一位置相遇.D. 两个栈均不空,且一个栈的栈顶到达另一个栈的栈底.【上海海运学院1997 二、1(5分)】【上海海运学院1999 二、1(5分)】3. 一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是()。
A. 不确定B. n-i+1C. iD. n-i【中山大学1999 一、9(1分)】4. 若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是()。
A. i-j-1B. i-jC. j-i+1D. 不确定的【武汉大学2000 二、3】5. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,p N,若p N是n,则p i是( )。
A. iB. n-iC. n-i+1D. 不确定【南京理工大学2001 一、1(1.5分)】6. 有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?()A. 5 4 3 6 1 2B. 4 5 3 1 2 6C. 3 4 6 5 2 1D. 2 34 15 6【北方交通大学2001 一、3(2分)】7. 设栈的输入序列是1,2,3,4,则()不可能是其出栈序列。
数据结构试题集(8套卷子+答案)

《数据结构》试卷一一、填空题:(共20分)1、当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用存储结构。
2、队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是。
3、在一棵二叉树中,度为0的结点个数为n0,度为2的个数为n2,则n0= 。
4、二叉树的前序遍历序列等同于该二叉树所对应森林的遍历序列5、对一棵二叉排序树,若以遍历该树,将得到一个以关键字递增顺序排列的有序序列。
6、三个结点a,b,c组成二叉树,共有种不同的结构。
7、在AVL树中,由于在A结点的右孩子的右子树上插入结点,使A结点的平衡因子由-1变为-2,使其失去平衡,应采用型平衡旋转。
8、图的遍历有两种,它们是。
9、堆排序的时间复杂度为。
10、在含有N个结点的二叉链表中有空链域,通常用这些空链域存储线索,从而得另一种链式存储结构----线索链表。
二、单项选择题(共20分)1、若进栈序列为1,2,3,4,假定进栈和出栈可以穿插进行,则可能的出栈序列是()(A)2,4,1,3(B)3,1,4,2(C)3,4,1,2(D)1,2,3,42、有一棵非空的二叉树,(第0层为根结点),其第i层上最多有多少个结点?()(A)2i(B)21-i(C)21+i(D) i3、设电文中出现的字母为A,B,C,D,E,每个字母在电文中出现的次数分别为9,27,3,5,11,按huffman编码,则字母A编码为()(A)10(B)110(C)1110(D)11114、下面关于数据结构的叙述中,正确的叙述是()(A)顺序存储方式的优点是存储密度大,且插、删除运算效率高(B)链表中每个结点都恰好包含一个指针(C)包含n个结点的二叉排序树的最大检索长度为logn2(D)将一棵树转为二叉树后,根结点无右子树5、程序段:y:=0while n>=(y+1)*(y+1) doy:=y+1enddo的时间复杂度为()(A)O(n) (B)O(n2) (C)O(n2/1) (D)O(1)6、排序方法中,关键码比较的次数与记录的初始排列无关的是( )(A) shell排序 (B) 归并排序 (C) 直接插入排序 (D) 直接选择排序7、数组q[0..n-1]作为一个环行队列,f 为当前队头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数总小于n,则队列中元素个数为( )(A) r-f (B) n+f-r (C) n+r-f (D) (n+r-f) mod n8、为了有效的利用散列查找技术,需要解决的问题是:( )Ⅰ:找一个好的散列函数Ⅱ:设计有效的解决冲突的方法Ⅲ:用整数表示关键码值(A) Ⅰ和Ⅲ (B) Ⅰ和Ⅱ (C) Ⅱ和Ⅲ (D) Ⅰ,Ⅱ和Ⅲ9、引入线索二叉树的目的是()(A) 加快查找结点的前驱或后继的速度(B) 为了能在二叉树中方便的进行插入与删除(C) :为了能方便的找到双亲(D) 使二叉树的遍历结果唯一10、用二分(折半)查找表的元素的速度比用顺序法()(A) 必然快(B) 必然慢(C): 相等(D): 不能确定三、简答题:(共40分)1、已知某二叉树按中序遍历序列为BFDAEGC,按前序遍历序列为ABDFCEG,试画出该二叉树形状,并写出它的后序遍历序列。
电子科大16秋《数据结构》在线作业3

电子科技大学电子科大16秋《数据结构》在线作业3一、单选题(共16 道试题,共48 分。
)1. 抽象数据类型的三个组成部分分别为()。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型正确答案:2. 已知一棵完全二叉树有64个叶子结点,则该树可能达到的最大深度为()。
A. 7B. 8C. 9D. 10正确答案:3. 已知在一棵度为3的树中,度为2的结点数为4,度为3的结点数为3,则该树中的叶子结点数为()。
A. 5B. 8C. 11D. 18正确答案:4. 已知指针p和q分别指向某单链表中第一个结点和最后一个结点。
假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。
A. q->next=s->next;s->next=pB. s->next=p;q->next=s->nextC. p->next=s->next;s->next=qD. s->next=q;p->next=s->next正确答案:5. 下面程序段的时间复杂度为()。
for (i=0; i<m; i++) for (j=0; j<n; j++) A[i][j]=i*j;A. O (m2)B. O (n2)C. O (m*n)D. O (m+n)正确答案:6. 在数据结构中,数据的逻辑结构可以分成()。
A. 内部结构和外部结构B. 线性结构和非线性结构C. 紧凑结构和非紧揍结构D. 动态结构和静态结构正确答案:7. 在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是()。
A. p=p->nextB. p->next=p->next->nextC. p->next=pD. p=p->next->next;正确答案:8. 采用两类不同存储结构的字符串可分别简称为()。
中石油(华东)《数据结构》2019年秋学期在线作业(三)答案

D.图的深度遍历不适用于有向图
答案:D
3.题目和答案如下图所示:
{图}
A.D
B.C
C.B
D.A
答案:A
4.设有13个值,用它们组成一棵哈夫曼树,则该哈夫曼树共有()个结点。
A.26
B.25
C.13
D.12
答案:B
5.下列哪一个关键码序列不符合堆的定义?()。
A.(12,22,42,62,68,79,82,84,87,100,102)
A.除留余数法是所有哈希函数中最好的
B.在哈希表中删去一个元素,不管用何种方法解决冲突都只要简单的将该元素删去即可
C.哈希函数构造的越复杂越好,因为这样随机性好,冲突小
D.不存在特别好与坏的哈希函数,要视情况而定
答案:D
11.在二叉树的先序遍历,中序遍历和后序遍历算法中,所有叶子结点的先后顺序()。
A.k(k-1)/2
B.k-1
C.k
D.1+k(k-1)/2
答案:A
14.设有一个无向图G=(V,E)和G’=(V’,E’)如果G’为G的生成树,则下面不正确的说法是()。
A.G’为G的连通分量
B.G’为G的极小连通子图且V’=V
C.G’为G的子图
D.G’为G的一个无环子图
答案:A
15.在具有n个结点的二叉树(二叉链表表示)中,值为空的链域数为()。
B.(102,87,42,79,82,62,68,100,84,12,22)
C.(102,87,100,79,82,62,84,42,22,12,68)
D.(102,100,87,84,82,79,68,62,42,22,12)
答案:B
数据结构自测试题及答案

数据结构自测题1一、单项选择题1.线性表若采用链表存储结构时,要求内存中可用存储单元的地址( D )。
A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续不连续都可以2.在单链表中,增加头结点的目的是为了( C )A.使单链表至少有一个结点B.表示表结点中首结点的位置C.方便运算的实现D.说明单链表是线性表的链式存储实现3.设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的顺序是e2、e4、e3、e6、e5、e1,则栈S的容量至少应是( B )A.2 B.3 C.4 D.54.树结构中,前驱结点与后继结点之间存在( B )关系。
A.一对一B.一对多C.多对一D.多对多5.堆栈的特性描述是( B )。
A.FIFO B.FILO C.FIFO和FILO D.FIFO或FILO6.队列的特性描述是( A )。
A.FIFO B.FILO C.FIFO和FILO D.FIFO或FILO7.下列数据结构中,是非线性结构的是( A )A.树B.堆栈C.队列D.循环队列8.设某个初始为空的容纳int型数据的堆栈进行了如下操作(每一步均未发生溢出):push(1)、push(3)、pop()、push(6)、push(1)、pop()、push(3)、push(8) 后,该堆栈中从栈顶到栈底的元素依次为( D )A.8 1 8 3 B.1 3 1 8 C.1 6 3 8 D.8 3 6 1二、判断题1.二叉树可以为空树。
(√)2.顺序表和链表都是线性表。
(√)3.线性表的长度是线性表占用的存储空间的大小。
(√)4.队列只能采用链式存储方式。
(×)5.由二叉树的先序序列和中序序列能唯一确定一棵二叉树。
(√)6.存在有偶数个结点的满二叉树。
(×)三、填空题1.数据结构是数据在计算机内的组成形式和相互关系。
2.二叉树的三种遍历方式分别为中序遍历、先序遍历和后序遍历。
数据结构模拟题3(无答案)

数据结构模拟题3(无答案)模拟试题3一.选择题1.当初始序列已按健值有序时,用直接插入算法进行排序,需要比较的次数为()A.n-1B.log2nC. 2log2nD.n22.以下时间复杂性不是O(n2)的排序方法是( )A.直接插入排序B.二路归并排序C.冒泡排序D.直接选择排序3..对采用二分查找法进行查找运算的查找表,要求按()方式进行存储。
A.顺序存储 B 链式存储C.顺序存储且结点按关键字有序D.链式存储且结点按关键字有序4.设有序表的关键字序列为{1,4,6,10,18,35,42,53,67,71,78,84,92,99},当用二分查找法查找健值为84的结点时,经()次比较后查找成功。
A.2B. 3C. 4D. 125.静态查找表与动态查找表两者的根本差别在于( )…………………………………………….A.逻辑结构不同B.存储实现不同C.施加的操作不同D.数据元素的类型不同6.用顺序查找法对具有n个结点的线性表查找的时间复杂性量级为A.O(n2)B. O(nlog2n)C. O(n)D.O(log2n)7.设有6个结点的无向图,该图至少应有()条边能确保是一个连通图。
A. 5B. 6C. 7 D 88.在无向图中,所有顶点的度数之和是所有边数的()倍。
A.0.5B.1C.2D.49.深度为6的二叉树最多有( )个结点.A.64B.63C.32D.3110.将含有83个结点的完全二叉树从根结点开始编号,根为1号,后面按从上到下、从左到右的顺序对结点编号,那么编号为41的双亲结点编号为 ( )A.42B.40C.21D.2011.已知某二叉树的后序遍历序列是dabec,中序遍历序列是deabc,它的前序遍历序列是()A.acbedB.deabcC.decabD.cedba12.设二叉树结点的先根序列、中根序列和后根序列中,所有叶子结点的先后顺序( )A.都不相同B.完全相同C.先序和中序相同,而与后序不同D.中序和后序相同,而与先序不同13.如果以链表作为栈的存储结构,做退栈操作时( )A.必须判别栈是否满B.必须判别栈是否空C.判别栈元素的类型D.对栈不做任何操作14.链栈与顺序栈相比,有一个比较明显的优点即()A.插入操作更方便B. 通常不会出现栈满的情况C.不会出现栈空的情况D. 删除操作更方便15.线性结构中的一个结点代表一个()A. 数据元素B. 数据项C. 数据D. 数据结构二.填空题1.若待排序的序列中存在多个记录具有相同的键值,经过排序,这些记录的相对次序仍然保持不变,则称这种排序方法是________的,否则称为________的。
数据结构试题

数据结构试题部分题目或答案有问题,现将已经发现的公布如下,同学在作这些模拟题的时候应着重做题方法的理解,遇到问题以教材或课件为准,不确定的地方可找同学商量或问我(1)试卷1第一套填空题第1题,试卷1第2套选择题第3题关于循环队列队头指针和队尾指针的约定与教材不一致,以教材或课件为准,实际上front指向的是队头元素,rear指向当前尚未被占用的第一个队列空间,队慢或队空的判定条件及入队/出队等操作具体可参考课件或教材(2)试卷1第一套应用题第5题,不声明邻接点顺序时默认编号最小的邻接点为第一邻接点,该图的深度优先遍历序列为*****,答案错。
此外,当给定邻接表时则邻接点顺序按照邻接表中的前后顺序确定,如试卷1第二套填空题第8题(3)试卷1第五套应用题第4题,两种方法处理冲突的方法下所求ASL值相等都为7/6(4)试卷1第五套填空题第8题答案给出的是小顶堆需满足的条件,大顶堆满足ki=k2i ki=k2i+1 (5)试卷1第一套填空题第9题模式匹配的BF算法以书中答案为准,两者区别在于,教材中存储字符串的数组的0号单元不存放有效字符,而试卷答案认为0号单元也放数组(6)试卷1第二套填空题第7题给定初始序列建堆未声明建大顶堆还是小顶堆,答案中给出的是小顶堆,大顶堆也要会建(7)试卷1第二套应用题第1题第4趟直接插入排序的结果应为(22,40,45,48,80,78);答案中给出的实际为第三趟,关键在于首元素自身有序不算一趟(8)试卷1第二套填空题第2题入栈操作以教材为准,教材中top是指向的栈顶(第一个空位置)的指针,与该套试卷中栈顶结构不一样,以教材为准(9)试卷1第三套填空题第12题答案中给出的不是拓扑序列,正确的是1423 (10)试卷1中多处遇到空指针NULL时写的是0而非NULL,实际两者皆可(11)试卷1第4套填空题第2题双向链表的删除答案错,应为p―llink-rlink=p-rlink; p-rlink-llink=p-llink;此外,注意课堂中讲的指针名和操作方法(12)第4套填空题第6题答案错,设哈夫曼树中共有99个结点,则该树中有____50_____个叶子结点;若采用二叉链表作为存储结构,则该树中有__100___个空指针域。
数据结构模拟试卷和答案

北京语言大学网络教育学院《数据结构》模拟试卷一注意:1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。
请监考老师负责监督。
2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。
3.本试卷满分100分,答题时间为90分钟。
4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。
一、【单项选择题】(本大题共10小题,每小题2分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。
1、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则采用()存储方式最节省时间。
[A] 顺序表[B] 双链表[C]带头结点的双循环链表[D] 单循环链表2、队列操作的原则是()。
[A] 只能进行删除[B] 后进先出[C]只能进行插入[D] 先进先出3、某二叉树的先序序列和后序序列正好相反,则该二叉树一定是()的二叉树。
[A] 空或只有一个结点[B] 高度等于其结点数[C]任一结点无左孩子[D] 任一结点无右孩子4、在下列排序方法中,()方法平均时间复杂度为0(nlogn),最坏情况下时间复杂度为0(n2)。
[A] 插入排序[B] 希尔排序[C] 快速排序[D] 堆排序5、对二叉树从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一个结点的左、右孩子中,其左孩子编号小于右孩子编号。
则可采用()次序的遍历实现编号。
[A] 先序[B] 中序[C]后序[D] 从根开始的层次遍历6、若用数组S[n]作为两个栈S1和S2的共用存储结构,对任何一个栈,只有当S[n]全满时才不能作入栈操作。
为这两个栈分配空间的最佳方案是()。
[A] S1的栈底位置为0,S2的栈底位置为n[B] S1的栈底位置为-1,S2的栈底位置为n/2[C] S1的栈底位置为0,S2的栈底位置为n-1[D] S1的栈底位置为0,S2的栈底位置为n/27、对一棵二叉排序树进行()遍历,可以得到该二叉树的所有结点按值从小到大排列的序列。
帮你掌握数据结构(第三章系列经典试题及答案)

第3章栈和队列一、填空题(每空1分,共15分)1。
向量、栈和队列都是线性结构,可以在向量的任何位置插入和删除元素;对于栈只能在栈顶插入和删除元素;对于队列只能在队尾插入和队首删除元素。
2。
栈是一种特殊的线性表,允许插入和删除运算的一端称为栈顶。
不允许插入和删除运算的一端称为栈底。
3。
队列是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。
4。
在一个循环队列中,队首指针指向队首元素的前一个位置。
5。
在具有n个单元的循环队列中,队满时共有n-1 个元素.6. 向栈中压入元素的操作是先存入元素,后移动栈顶指针。
7.从循环队列中删除一个元素时,其操作是先移动队首指针,后取出元素。
8。
〖00年统考题〗带表头结点的空循环双向链表的长度等于0。
解:二、判断正误()(每小题1分,共10分)(×)1。
是一个复杂类型。
错,线性表是逻辑结构概念,可以顺序存储或链式存储,与元素数据类型无关。
(×)2。
在表结构中最常用的是线性表,栈和队列不太常用。
错,不一定吧?调用子程序或函数常用,CPU中也用队列。
(√)3. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。
(√)4. 对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表.正确,都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。
( ×)5. 栈和链表是两种不同的数据结构。
错,栈是逻辑结构的概念,是特殊殊线性表,而链表是存储结构概念,二者不是同类项。
(×)6. 栈和队列是一种非线性数据结构。
错,他们都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。
(√)7。
栈和队列的存储方式既可是顺序方式,也可是链接方式。
(√)8。
两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。
(×)9. 队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。
数据结构试题四套

A卷、选择(共20分每题只有一个正确答案每题2分)1.数据结构是( D )A.一种数据类型B.数据的存储结构C.一组性质相同的数据元素的集合D.相互之间存在一种或多种特定关系的数据元素的集合2.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( B )A.3,2,6,1,4,5 B.3,4,2,1,6,5C.1,2,5,3,4,6 D.5,6,4,2,3,13.求单链表中当前结点的后继和前驱的时间复杂度分别是( C )A.O(n)和O(1) B.O(1)和O(1)C.O(1)和O(n) D.O(n)和O(n)4.已知指针p和q分别指向某单链表中第一个结点和最后一个结点。
假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为(A )A.q->next=s->next;s->next=p; B.s->next=p;q->next=s->next;C.p->next=s->next;s->next=q; D.s->next=q;p->next=s->next;5.已知函数Sub(s,i,j)的功能是返回串s中从第i个字符起长度为j的子串,函数Scopy(s,t)的功能为复制串t到s。
若字符串S=″SCIENCESTUDY″,则调用函数Scopy(S,Sub(S,1,7))后得到( C) A.P=″SCIENCE″ B.P=″STUDY″C.S=″SCIENCE″ D.S=″STUDY″6.对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( A)A.(N+1)/2 B. N/2 C. N D. [(1+N)*N ]/27.下列陈述中正确的是( D)A.二叉树是度为2的有序树B.二叉树中结点只有一个孩子时无左右之分C.二叉树中必有度为2的结点D.二叉树中最多只有两棵子树,并且有左右之分8.设有一个10阶的对称矩阵A,采用下三角压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为(B )。
数据结构考试试题及答案

数据结构考试试题及答案一、选择题(每题2分,共60分)1. 数据结构是指()。
A. 用来存储和组织数据的方式和方法B. 构建数据的逻辑关系C. 存储和处理数据的工具和技术D. 对数据进行操作和管理的过程2. 下列哪种数据结构是线性结构()。
A. 树B. 图C. 队列D. 堆3. 下列哪种数据结构是非线性结构()。
A. 栈B. 队列C. 数组D. 树4. 栈是一种()。
A. 先进先出的数据结构B. 先进后出的数据结构C. 后进先出的数据结构D. 后进后出的数据结构5. 在二叉树中,每个节点最多有几个孩子节点()。
A. 0B. 1C. 2D. 36. 下列哪种排序算法的时间复杂度最好()。
A. 冒泡排序B. 插入排序C. 快速排序D. 归并排序7. 哈希表的查找时间复杂度是()。
A. O(1)B. O(logn)C. O(n)D. O(nlogn)8. 链表的插入和删除操作时间复杂度是()。
A. O(1)B. O(logn)C. O(n)D. O(nlogn)9. 广度优先搜索算法一般使用()数据结构来实现。
A. 栈B. 队列C. 堆D. 树10. 什么是递归()。
A. 函数调用自身的过程B. 通过循环完成的过程C. 一种数据结构D. 没有调用其他函数的过程二、填空题(每题2分,共20分)1. 数据结构中,线性表是由一系列 _______________ 元素构成的数据结构。
2. 在树结构中,每个节点可以有 _______________ 个子节点。
3. 在图结构中,节点之间的关系可以用 _______________ 来表示。
4. _______________ 是一种递归定义的数据结构,它由若干个节点组成,每个节点都有零个或多个子节点。
5. 在堆排序中,堆是一种 _______________ 数据结构。
6. _______________ 是一种常用的搜索算法,常用于解决最短路径问题。
7. 在散列表中,使用 _______________ 来解决冲突问题。
数据结构的试题及答案

数据结构的试题及答案一、选择题(每题2分,共10分)1. 在数据结构中,()是数据元素之间的相互关系的集合。
A. 数据B. 结构C. 存储结构D. 逻辑结构答案:D2. 线性表的顺序存储结构中,存储元素的物理位置是()。
A. 连续的B. 离散的C. 任意的D. 无关的答案:A3. 在二叉树的遍历方法中,先访问根节点,然后遍历左子树,最后遍历右子树的遍历方式是()。
A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A4. 哈希表的冲突解决方法中,()是将所有发生冲突的元素存储在同一个链表中。
A. 线性探测B. 链地址法C. 再散列D. 双散列答案:B5. 在图的遍历算法中,深度优先搜索(DFS)算法使用的辅助数据结构是()。
A. 栈B. 队列C. 链表D. 数组答案:A二、填空题(每题2分,共10分)1. 在数据结构中,算法的时间复杂度通常用()表示。
答案:O(n)2. 一个栈的初始状态为空,依次执行了Push(1), Push(2), Pop(), Push(3), Pop()操作后,栈顶元素是()。
答案:13. 在二叉搜索树中,对于任意节点,其左子树中的所有值都()该节点的值。
答案:小于4. 哈希表的装载因子是表中已填入的元素个数与哈希表的()之比。
答案:总容量5. 图的邻接矩阵表示法中,如果两个顶点之间有边相连,则对应的矩阵元素值为()。
答案:1三、简答题(每题5分,共20分)1. 请简述什么是递归,并给出一个递归算法的例子。
答案:递归是一种算法设计技巧,它允许一个函数直接或间接地调用自身。
递归算法的例子是计算阶乘:n! = n * (n-1)!,其中n! = 1当n=0时。
2. 请解释什么是堆排序,并简述其基本步骤。
答案:堆排序是一种基于堆数据结构的比较排序算法。
基本步骤包括构建最大堆,然后重复移除堆顶元素并调整剩余元素以保持最大堆属性。
3. 请描述什么是图的广度优先搜索(BFS)算法,并给出其算法步骤。
数据结构试题 试卷三 含答案

模拟试题三模拟试题三一、选择题(30分)1.下面程序的时间复杂度为( )。
for(i=O;i<m;i++)for(j=0;j<t;j++)c[i][j]=O;for(i=O;i<m;i++)for(j=O;j<t;j++)for(k=O;k< SPAN>c[i][j]=c[i][j]+a[i][k]b[k][j];A) O (mnt) B)0(m+n+t) C) O(m+nt) D)O(mt+n)2.从一个长度为n的顺序表中删除第i个元素(1≤i≤n),需向前移动( )个元素。
A) n-i B) n-i+l C) n-i-l D)i3.串的逻辑结构与( )的逻辑结构不同。
A)线性表 B)栈 C)队列 D)树4.二叉树第i(i≥1)层最多有( )个结点。
A) 2i B) 2i C) 2i-l D) 2i-15.设单链表中指针p指向结点A,若要删除A之后的结点(若存在),则修改指针的操作为( )。
A) p->next=p->next->next B) p=p->nextC) p=p->next->next D)p->next=p6.设一数列的输入顺序为l,2,3,4,5,6,通过栈操作不可能排成的输出序列为( )。
A)3,2,5,6,4,l B)l,5,4,6,2,3C)2,4,3,5,l,6 D)4,5,3,6,2,l7。
设字符串Sl=‘ABCDEFG’,S2=‘PQRST’,则运算S=Concat(Sub(S1,2,Length(S2))Sub(S1,Length(S2),2))后结果为( )。
A)‘BCQR' B)‘BCDEF'C)‘BCDEFG' D)‘BCDEFEF'8.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,all为第1个元素,其存储地址为1,每个元素占用1个地址空间,则a85的地址为( )A) 13 B) 33 C) 18 D) 409.如果结点A有3个兄弟,且B为A的双亲,则B的度为( )。
数据结构试题及答案(十套)

数据结构试题及答案(十套)数据结构试题及答案(十套)一、选择题1. 数据结构是指()。
A. 存储数据的方式B. 数据的逻辑结构和物理结构C. 数据的存储结构和存储方式D. 数据的逻辑结构、存储结构和存储方式答案:D2. 在数据结构中,线性表的存储方式包括()。
A. 顺序存储和链式存储B. 数组存储和链表存储C. 顺序存储、链表存储和索引存储D. 顺序存储、链表存储和树形存储答案:A3. 栈是一种()的数据结构。
A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:C4. 队列是一种()的数据结构。
A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:A5. 二叉树中,度为0的节点称为()。
A. 叶子节点B. 根节点C. 中间节点D. 子节点答案:A6. 以下哪个排序算法是稳定的?A. 快速排序B. 选择排序C. 插入排序D. 希尔排序答案:C7. 图中表示顶点之间关系的边的数量称为()。
A. 顶点度数B. 边数C. 路径数D. 网络答案:B8. 哈希表通过()来实现高效的查找操作。
A. 散列函数B. 排序算法C. 遍历操作D. 顺序存储答案:A9. 平衡二叉树是一种具有左右子树高度差不超过()的二叉树。
A. 0B. 1C. 2D. 3答案:B10. 在链表中,删除节点的操作时间复杂度是()。
A. O(1)B. O(logn)C. O(n)D. O(nlogn)答案:A二、填空题1. 在顺序存储结构中,元素之间的逻辑关系由()表示。
答案:下标2. 二叉查找树的中序遍历结果是一个()序列。
答案:递增3. 哈希表通过散列函数将关键字映射到()上。
答案:地址4. 图的邻接表中,每个顶点的所有邻接点链接成一个()。
答案:链表5. 位运算符中的左移和右移运算都是对二进制数进行()操作。
答案:移位三、解答题1. 简要介绍顺序存储和链式存储这两种线性表的存储方式,并比较它们的优缺点。
答案:顺序存储是将元素按照逻辑顺序依次存储在一块连续的存储空间中,通过元素的下标可以直接访问到元素。
《数据结构》习题汇编03 第三章 栈和队列 试题

第三章栈和队列试题一、单项选择题1.栈的插入和删除操作在()进行。
A. 栈顶B. 栈底C. 任意位置D. 指定位置2.当利用大小为n的数组顺序存储一个栈时,假定用top==n表示栈空,则向这个栈插入一个元素时,首先应执行()语句修改top指针。
A. top++;B. top--;C. top = 0;D. top;3.若让元素1,2,3依次进栈,则出栈次序不可能出现()种情况。
A. 3, 2, 1B. 2, 1, 3C. 3, 1, 2D. 1, 3, 24.在一个顺序存储的循环队列中,队头指针指向队头元素的()位置。
A. 前一个B. 后一个C. 当前D. 后面5.当利用大小为n的数组顺序存储一个队列时,该队列的最大长度为()。
A. n-2B. n-1C. nD. n+16.从一个顺序存储的循环队列中删除一个元素时,需要()。
A. 队头指针加一B. 队头指针减一C. 取出队头指针所指的元素D. 取出队尾指针所指的元素7.假定一个顺序存储的循环队列的队头和队尾指针分别为front和rear,则判断队空的条件为()。
A. front+1 == rearB. rear+1 == frontC. front == 0D. front == rear8.假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为()。
A. front == rearB. front != NULLC. rear != NULLD. front == NULL9.设链式栈中结点的结构为(data, link),且top是指向栈顶的指针。
若想在链式栈的栈顶插入一个由指针s所指的结点,则应执行操作()。
A. top->link = s;B.s->link = top->link; top->link = s;C. s->link = top; top = s;D. s->link = top; top = top->link;10.设链式栈中结点的结构为(data, link),且top是指向栈顶的指针。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南林业科技大学课程考试卷
课程名称:数据结构
一、选择题(在本题的每小题的备选答案中,只有一个答案是正确的,请选择你
认为正确的答案标号,多选不给分,每小题3分,共30分)
1、算法分析的两个主要方面是( )。
A .空间复杂性和时间复杂性 B. 正确性和简明性
C . 可读性和文档性
D . 数据复杂性和程序复杂性
2.一个向量第一个元素的存储地址为100,每个元素的长度为2,则第5个元素
的地址是( )。
A .110 B. 108 C. 100 D. 120
3.带表头结点的单链表first 为空的判定条件是( )。
A. first == NULL ;
B. first->next == NULL ;
C. first->next == first ;
D. first != NULL ;
4.设栈S 和队列Q 的初始状态为空,元素e 1,e 2,e 3,e 4,e 5和e 6依次通过栈S ,一个
元素出栈后即进队列Q ,若6个元素出队的序列是e 2,e 4,e 3,e 6,e 5,e 1,则栈S 的容量
至少应该是
( )。
A. 6
B. 4
C. 3
D. 2
5.若对n 阶对称矩阵A[1..n,1..n]以行序为主序方式将其下三角形的元素(包括
主对角线上所有元素)依次存放于一维数组
⎥⎦⎤⎢⎣⎡+2)1(..1n n B 中,则在B 中确定a ij (i<j)
的位置k 的关系为( )。
6.已知完全二叉树的第7层有10个叶子结点,则整个二叉树的结点数最多为
( )。
A. 127
B. 73
C. 65
D. 64
7. 具有n 个顶点的有向无环图最多可包含( )条有向边。
A.j i i +-2)1(* B. i j j +-2)1(* C. j i i ++2)1(* D. i j j ++2)1(*
A .n-1
B .n
C .n(n-1)/2
D .n(n-1)
8. 图的广度优先搜索类似于树的( )次序遍历。
A. 先根
B. 中根
C. 后根
D. 层次
9.请指出在顺序表{2、5、7、10、14、15、18、23、35、41、52}中,用二分法
查找关键码12需做( )次关键码比较。
A . 2 B. 3 C. 4 D. 5
10. 若需要在())(2log n n O 的时间内完成对数组的排序,且要求排序是稳定的,则
可选择的排序方法是( )。
A. 快速排序
B. 堆排序
C. 归并排序
D. 直接插入排序
二、判断题(判断下列各题是否正确,正确打“√”,错误打“×”,每小题2
分,共20分)
1.数据的逻辑结构与数据元素本身的内容和形式无关。
( )
2.线性表的顺序存储表示优于链式存储表示。
( )
3.队列是一种先进后出的线性表。
( )
4.若有一个结点是二叉树中某个子树的中序遍历结果序列的最后一个结点,则它
一定是该子树的前序遍历结果序列的最后一个结点。
( )
5.树转化成对应的二叉树,则该二叉树无右子树。
( )
6.若一个图的邻接矩阵是对称矩阵,则此图为无向图。
( )
7.对二叉排序树进行中序遍历可得到一个有序序列。
( )
8.理想情况下,在散列表中查找一个元素的时间复杂度为O (1)。
( )
9. 已知一棵二叉树的前序遍历序列和中序遍历序列,一定能构造出该二叉树。
( )
10.直接选择排序是稳定的。
()
三、填空题(每题3分,共30分)
n+4n-7)/(5n),其数量级表示1.一个算法的时间复杂度为(3n2+2nlog
2
为。
2.A,B,C三个结点为线性链表的相邻结点,P指针指向A结点,写出将B,C结点交换位置的操作序列:,,,。
3.输入序列为ABCDE,通过一个堆栈,不可能得到的输出序列有,,
,等。
4.树(A(B(E(K),F),C(G),D(H,I,J(M)))转化成二叉树后,其二叉树中序遍历次序为。
5.在一棵二叉树中,假定度为2的结点有5个,度为1的结点有6个,则叶子结点数有个。
6.对于一个具有n个顶点和e条边的无向连通图,其生成树中的边数
为。
7.广义表中的元素可分为和两种。
8.假定对长度为n=21的有序表进行折半查找,则对应的判定树高度
为。
9.在无向图G的邻接矩阵A中,若A[i][j]等于1,则A[j][i] 等于。
10.要将序列{50,16,23,68,94,70,73}建成堆,只需把16与相互
交换。
四、将下图(15分)
1、1、用邻接表表示。
2、2、写出该图在邻接表表示下的广度优先
遍历次序。
3、3、写出该图的所有拓扑有序序列,按拓扑
排序算法拓扑序列为哪一种?
五、(本题10分)
一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来。
求出空格处的内容,并画出该二叉树。
先序序列:_B_F_ICEH_G 中序序列:D_KFIA_EJC_ 后序序列:_K_FBHJ_G_A
六、给出一组关键字序列:12,8,9,15,7,16,13,4,10,20,11,14,请给出用快速排序、堆排序、希尔排序(渐减增量序列d=6,3,2,1)各自的第一趟、第二趟排序结果。
(18分)
七、阅读理解题:说明下面递归过程的功能(7分)
void unknown(LinkList f,,Elemtype &x) {
//指针f是带表头结点的单链表的表头指针,数值x是给定值
LinkList temp;
if (f->next!=NULL) {
while (f->next->data= =x) {
temp=f->next;f->next=temp->next; free(temp);
}
unknown(f->next,x);
}
}
八、(10分)设有两个长度分别为m和n的线性表存放在向量A[1..m]和B[1..n]中,A中元素递增有序而B中元素递减有序,试编写算法求出所有既在A中出现又在B中出现的元素,用以构成一个新的递增有序的线性表,存放在向量C中,并给出算法分析。
九、已知二叉树中的结点类型用BinTreeNode表示,被定义为:
struct BinTreeNode { char data; BinTreeNode *leftChild,
*rightChild; };
其中data为结点值域,leftChild和rightChild分别为指向左、右子女结点的指针域,根据下面函数声明编写出求一棵二叉树中结点总数的算法,该总数值由函数返回。
假定参数BT初始指向这棵二叉树的根结点。
(10分)
int BTreeCount ( BinTreeNode * BT )。