数据结构模拟题及答案

合集下载

数据结构试题集(包含答案-完整版)

数据结构试题集(包含答案-完整版)

数据结构试题集(包含答案-完整版)数据结构试题集(包含答案-完整版)1. 单选题1) 数据结构是一种()。

a) 存储结构b) 算法c) 数据模型d) 网络答案:c) 数据模型解析:数据结构是一种用于组织和存储数据的方式,描述了数据之间的关系以及对数据的操作。

2) 以下哪种数据结构可以通过索引直接访问元素?a) 链表b) 队列c) 栈d) 数组答案:d) 数组解析:数组是一种线性数据结构,可以通过索引直接访问指定位置的元素。

2. 多选题1) 哪些数据结构属于非线性结构?()a) 队列b) 树c) 栈d) 图答案:b) 树d) 图解析:线性结构中的元素存在一对一的关系,非线性结构中的元素存在一对多或多对多的关系,树和图属于非线性结构。

2) 下列哪些操作可以在栈上进行?()a) 入栈b) 出栈c) 查找d) 删除答案:a) 入栈b) 出栈解析:栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除操作。

3. 简答题1) 请简要介绍线性表和非线性表。

答案:线性表是数据元素的一个有限序列,元素之间存在一对一的关系。

非线性表是指元素之间存在一对多或多对多的关系,如树和图。

2) 请解释什么是时间复杂度和空间复杂度。

答案:时间复杂度是衡量算法执行效率的度量,表示算法的运行时间随输入规模增长的速度。

空间复杂度是指算法执行过程中所需的存储空间随输入规模增长的速度。

4. 编程题题目:实现一个栈,包含push、pop和getMin三个操作,要求时间复杂度为O(1)。

答案:class MinStack:def __init__(self):self.stack = []self.min_stack = []def push(self, x):self.stack.append(x)if not self.min_stack or x <= self.min_stack[-1]:self.min_stack.append(x)def pop(self):if self.stack.pop() == self.min_stack[-1]:self.min_stack.pop()def getMin(self):return self.min_stack[-1]解析:在栈的基础上,使用一个辅助栈min_stack来记录当前栈中的最小值。

数据结构模拟试卷(含答案)

数据结构模拟试卷(含答案)

数据结构设计课程代码:7399一、单项选择题(在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

每小题2分,共40分)1、串的长度是()。

A、串中不同字母的个数B、串中不同字符的个数C、串中所含字符的个数,且大于0D、串中所含字符的个数2、若用数组S[1..n]作为两个栈S1和S2的共同存储结构,对任何一个栈,只有当S全满时才不能作入栈操作。

为这两个栈分配空间的最佳方案是()。

A、S1的栈底位置为0,S2的栈底位置为n+1B、S1的栈底位置为0,S2的栈底位置为n/2C、S1的栈底位置为1,S2的栈底位置为nD、S1的栈底位置为1,S2的栈底位置为n/23、队列操作的原则是()。

A、先进先出B、后进先出C、只能进行插入D、只能进行删除4、有64个结点的完全二叉树的深度为()(根的层次为1)。

A、8B、7C、6D、55、在有n个结点的二叉链表中,值为非空的链域的个数为()。

A、n-1B、2n-1C、n+1D、2n+16、带权有向图G用邻接矩阵A存储,则顶点i的人度等于A中()。

A、第i行非∞的元素之和B、第i列非∞的元素之和C、第i行非∞且非0的元素个数D、第i列非∞且非0的元素个数7、在有n个结点且为完全二叉树的二叉排序树中查找一个键值,其平均比较次数的数量级为()。

A、0(n)B、0(log2n)C、0(nolg2n)D、0(n2)8、若表R在排序前已按键值递增顺序排列,则()算法的比较次数最少。

A、直接插入排序B、快速排序C、归并排序D、选择排序9、下列排序算法中,()排序在某趟结束后不一定选出一个元素放到其最终的位置上。

A、选择B、冒泡C、归并D、堆10、若线性表最常用的操作是存取第i个元素及其前趋的值,则采用()存储方式节省时间。

A、单链表B、双链表C、单循环链表D、顺序表11、对二叉树从1开始进行连续编号,要求每个结点的编号大于其左右孩子的编号,同一个结点的左右孩子中,其左孩子的编号小于其右孩子的编号,则可采用()遍历实现编号。

计算机数据结构考试题及答案

计算机数据结构考试题及答案

全真模拟试题(一)一、单项选择题(在每小题的4个备选答案中,选出正确的答案,并将其号码填在题干的括号内。

每小题2分,共24分)1.若某线性表中最常用的操作是取第i 个元素和找第i个元素的前趋元素,则采用()存储方式最节省时间。

①单链表②双链表③单向循环④顺序表2.串是任意有限个()①符号构成的序列②符号构成的集合③字符构成的序列④字符构成的集合3.设矩阵A(aij ,l≤i,j≤ 10)的元素满足:aij≠0(i≥j, l≤i, j≤ 10)aij=0 (i<j, l≤i, j≤ 10)现将A的所有非0元素以行序为主序存放在首地址为2000的存储区域中,每个元素占有4个单元,则元素A[9][5]的首址为①2340 ②2336 ③2164 ④21604.如果以链表作为栈的存储结构,则退栈操作时()①必须判别栈是否满②对栈不作任何判别③必须判别栈是否空④判别栈元素的类型5.设数组Data[0..m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为()①front=front+1 ②front=(front+1)% m③rear=(rear+1)%m ④front=(front+1)%(m+1)6.深度为6(根的层次为1)的二叉树至多有()结点。

①64 ②32 ③31 ④637.将含100个结点的完全二叉树从根这一层开始,每层上从左到右依次对结点编号,根结点的编号为1。

编号为49的结点X的双亲编号为()①24 ②25 ③23 ④无法确定8.设有一个无向图G=(V,E)和G’=(V’,E’)如果G’为G的生成树,则下面不正确的说法是()①G’为G 的子图②G’为G 的边通分量③G’为G的极小连通子图且V’=V④G’为G的一个无环子图9.用线性探测法查找闭散列表,可能要探测多个散列地址,这些位置上的键值()①一定都是同义词②一定都不是同义词③都相同④不一定都是同义词10.二分查找要求被查找的表是()①键值有序的链接表②链接表但键值不一定有序③键值有序的顺序表④顺序表但键值不一定有序11.当初始序列已经按键值有序,用直接插入算法对其进行排序,需要循环的次数为()①n2 ②nlog2n ③log2n ④n-112.堆是一个键值序列{k1,k2,…, kn},对i=1,2,…,|_n/2_|,满足( )①ki≤k2i≤k2i+1②ki<k2i+1<k2i③ki≤k2i且ki≤k2i+1(2i+1≤n)④ki≤k2i 或ki≤k2i+1(2i+1≤n)二、判断题(判断下列各题是否正确,正确在括号内打“V”,错的找“X”。

数据结构与算法 模拟试卷七、八及参考答案

数据结构与算法 模拟试卷七、八及参考答案

模拟试卷七一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。

每小题1分,共10分)1.假设执行语句S的时间为O(1),则执行下列程序段for(i=1;i<=n;i++)for(j=i;j<=n;j++)S;的时间为( )A)O(n)B)O(n2)C)O(n*i)D)O(n+i)2.设栈最大长度为3,入栈序列为1,2,3,4,5,6,则不可能的出栈序列是()。

A)1,2,3,4,5,6 B)2,1,3,4,5,6C)3,4,2,1,5,6 D)4,3,2,1,5,63.设单链表的结点结构为(data,next),已知指针q所指结点是指针p所指结点的直接前驱,如在*q与*p之间插入结点*s,则应执行的操作为()。

A)s->next=p->next; p->next=s; B)q->next=s; s->next=p;C)p->next=s-next; s->next=p; D)p->next=s; s-next=q;4.串S='ABC DEF'的串长为()。

A)3 B)4C)7 D)85.下面二叉树按()遍历得到的序列是FEDBIHGCA。

A)先序B)中序C)后序D)层次6.用Floyd算法求每一对顶点之间的最短路径的时间复杂度为()。

A)O(n) B)O(n2)C)O(n3) D)O(nlogn)7.具有n个顶点的无向图,它可能具有的边数的最大值为()。

A)(n2+n)/2 B)n2C)(n2-n)/2 D)n8.二分查找法要求被查找的表是()。

A)顺序表B)链接表C)顺序表且是按值递增或递减次序排列D)不受上述的任何限制9.在一待散列存储的线性表(18,25,63,50,42,32,90),若选用h(k)=k % 7作为散列函数,则与元素18冲突的元素有( )个。

A)0 B)1C)2 D)310.在下列排序算法中,不稳定的是()。

数据结构试题及答案(10套最新)

数据结构试题及答案(10套最新)

一、单选题(每题 2 分,共20分)1.1。

对一个算法的评价,不包括如下(B )方面的内容.A.健壮性和可读性B.并行性C.正确性D.时空复杂度2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行(A )。

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.3。

对线性表,在下列哪种情况下应当采用链表表示?(B )A。

经常需要随机地存取元素 B.经常需要进行插入和删除操作C。

表中元素需要占据一片连续的存储空间D。

表中元素的个数不变4.4。

一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A。

2 3 1 B。

3 2 1C。

3 1 2 D. 1 2 35.5。

AOV网是一种(D ).A.有向图B.无向图C.无向无环图D.有向无环图6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度(B)。

A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.7.若需要利用形参直接访问实参时,应将形参变量说明为(D )参数。

A.值B.函数C.指针D.引用8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的( A )。

A.行号B.列号C.元素值D.非零元素个数9.9。

快速排序在最坏情况下的时间复杂度为(D ).A.O(log2n)B.O(nlog2n) C.0(n)D.0(n2)10.10。

从二叉搜索树中查找一个元素时,其时间复杂度大致为(C ).A。

O(n)B。

O(1) C. O(log2n) D。

O(n2)二、运算题(每题 6 分,共24分)1. 1.数据结构是指数据及其相互之间的______________。

当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。

数据结构-模拟题

数据结构-模拟题

《数据结构》模拟题一、单项选择题1.假定对称矩阵按行序为主序,顺序存储下三角元素到一维数组SA[1..n(n-1)/2]中,对下三角中任一元素aij在一维数组SA中的下标k值为().A.i(i-1)/2+j-1B.i(i-1)/2+jC.i(i+1)/2+j-1D.i(i+1)/2+j[答案]:B2.____可作线性表的存储结构.A.循环单链表B.三元组表C.邻接表D.多重链表[答案]:A3.串的长度是().A.串中不同字母的个数B.串中不同字符的个数C.串中所含字符的个数D.串中所含字符的个数,且大于0[答案]:C4.队列操作的原则是()A.先进先出B.后进先出C.只能进行插入D.只能进行删除[答案]:A5.对长度为10的表作选择(简单选择)排序,共需比较____次关键字.A.45B.90C.10D.110[答案]:A6.关于线性表,下列说法正确的是().A.每个元素都有一个直接前驱和直接后继B.线性表中至少要有2个元素C.表中元素必须排序D.除第一个和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继[答案]:D7.假设用Q[0..maxleng-1]表示循环队列,f为队头指针,r为队尾指针,则进队操作的语句是().A.f=f+1B.r=r+1C.f=(f+1)%maxlengD.r=(r+1)%maxleng[答案]:D8.两个串相等的判定条件是().A.串为空B.串中各位置对应字符相等C.串长度相等D.串长度相等并且串中各位置对应字符相等[答案]:D9.若7行6列的数组a以列序为主序顺序存储,基地址为1024,每个元素占2个存储单元,则第3行第5列的元素(假定无第0行第0列)的存储地址是____.A.1100B.1086C.1084D.答案A,B,C都不对[答案]:C10.若进队列的序列为1,2,3,4,则()是一个出队列序列.A.1234B.4321C.4312D.3214[答案]:A11.若用一个大小为6的数组来实现循环队列,且当rear和front的值分别为0和3.当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为().A.1和5B.2和4C.4和2D.5和1[答案]:B12.设计一个判定表达式中左,右括号是否配对出现的算法,采用()数据结构最佳.A.链表B.线性表C.队列D.栈[答案]:D13.设语句s=s+i的时间是时间单位,则语句:s=0;for(i=1;i<=n;i++)s=s+i;的时间复杂度为().A.O(1)B.O(n)C.O(n2)D.O(log2n)[答案]:B14.数据表A中有10000个元素,如果仅要求求出其中最大的10个元素,则采用()排序算法最节省时间.A.堆排序B.希尔排序C.快速排序D.直接选择排序[答案]:C15.数组A中,每个元素的长度为3个字节,行下标i从1到5,列下标j从1到4,从首地址SA 开始连续存放在存储器内,该数组占用的字节数为().A.20B.60C.80D.120[答案]:B16.顺序栈存储空间的实现使用()存储栈元素.A.链表B.循环链表C.数组D.变量[答案]:C17.为了方便对图状结构的数据进行存取操作,则其中数据存储结构宜采用().A.顺序存储B.链式存储C.索引存储D.散列存储[答案]:B18.下列有关二叉树的说法正确的是().A.二叉树的度为2B.一棵二叉树度可以小于2C.二叉树中至少有一个结点的度为2D.二叉树中任一个结点的度都为2[答案]:B19.循环队列中元素数目是()?其中tail=32,指向队尾元素,head=15指向对头元素的前一个空位置,队列空间m=60.A.42B.16C.17D.41[答案]:C20.一颗非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足().A.只有一个叶子结点B.所有的结点均无左孩子C.左右的结点均无右孩子D.是任意一颗二叉树[答案]:A21.线性表的静态链表存储结构与顺序存储结构相比优点是A.便于随机存取B.便于插入和删除C.便于利用零散的存储器空间D.所有的操作算法实现简单[答案]:B22.____是'Hua**Zhong**Da'的子串.A.HuaB.zhongC.'*Da'D.'HuaZhongDa'[答案]:C23.串是任意有限个().A.符号构成的xxxB.符号构成的序列C.字符构成的xxxD.字符构成的序列[答案]:D24.队列的特点是().A.先进先出B.后进先出C.进优于出D.出优于进[答案]:A25.二叉树在线索化后,仍不能有效求解的问题是()A.先序线索二叉树中求先序后继B.中序线索二叉树中求中序后继C.中序线索二叉树中求中序前趋D.后序线索二叉树中求后序后继[答案]:D26.广义表A=(a,b,(c,d),(e,(f,g))),则下面式子的值为().Head(Tail(Head(Tail(Tail(A))))).A.(g)B.(d)C.cD.d[答案]:D27.将一个A[1..10,1..10]的三对角矩阵,按行优先存入一维数组B[1,30]中,A中元素a6,5在B 数组中的位置i为().A.15B.16C.55D.56[答案]:A28.两个指针p和q,分别指向单链表的两个元素,p所指元素是q所指元素的前驱,则().A.p==qB.q->next=pC.p->next=q->nextD.p->next=q[答案]:D29.若串s="hello",其子串个数是().A.5B.15C.16D.25[答案]:B30.若某链表最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用()存储方式最节省时间.A.单链表B.双链表C.带头结点的双循环链表D.单循环链表[答案]:C31.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的时间复杂度为().A.O(1)B.O(n)C.O(n2)D.O(log2n)[答案]:B32.设循环队列中数组的下标范围是1~n,其头尾指针分别为f和r,则其元素个数为()A.r-fB.r-f+1C.(r-f)modn+1D.(r-f+n)modn[答案]:D33.设栈的输入序列是(1,2,3,4),则()不可能是其出栈序列.A.1234B.2134C.4312D.3214[答案]:C34.数据结构包含四种基本结构,它们是().A.xxx,链表,树,队列B.队列,链表,数组,图C.xxx,线性,树,图D.线性,链表,队列,xxx[答案]:C35.数组A中,每个元素的长度为4个字节,行下标i从1到5,列下标j从1到4,从首地址SA 开始连续存放在存储器内,该数组按行存放时,元素A[3][2]的起始地址为().A.SA+5B.SA+10C.SA+36D.SA+40[答案]:C36.算法必须具备的5个特征是:输入,输出,().A.可执行性,可移植性和可扩充性B.可执行性,有穷性和确定性C.有穷性,稳定性和确定性D.稳定性,易读性和确定性[答案]:B37.稀疏矩阵一般的压缩存储方法有()两种.A.二维数组和三维数组B.二维数组和三元组C.三维数组和十字链表D.三元组和十字链表[答案]:D38.线性表采用链式存储时,其地址().A.必须是连续的B.一定是不连续的C.连续与否均可以D.部分地址必须是连续的[答案]:C39.一个n*n的对称矩阵,如果以行或列为主序放入内存,则其容量为().A.n*nB.n*n/2C.n*(n+1)/2D.(n+1)*(n+1)/2[答案]:C40.已知一个顺序存储的线性表,设每个结点需占m个存储单元,若第一个结点的地址为d1,则第i个结点的地址为().A.d1+(i-1)*mB.d1+i*mC.d1-i*mD.d1+(i+1)m[答案]:A41._____是数据的不可分割的最小单位.A.元素B.数据元素C.数据类型D.数据项[答案]:D42.D=(a,(b,c)),则tail(D)=().A.b,cB.(b,c)C.((b,c))D.c[答案]:C43.带头结点的单链表为空表的条件是().A.head==NULLB.head->data==NULLC.head->next==NULLD.head->prior==NULL[答案]:C44.对有18个元素的有序表作二分(折半)查找,则查找A[3]的比较序列的下标为().A.1,2,3B.9,5,2,3C.9,5,3D.9,4,2,3[答案]:D45.二维数组A[1..5,1..6],若A按行先存储时元素A[3,2]的起始地址与当A按列存储时的()元素的起始地址相同.A.A[2,3]B.A[3,3]C.A[4,3]D.A[5,3][答案]:C46.假定一个顺序循环队列存储于数组A[n]中,其队首和队尾指针分别用front和rear表示,则判断队满的条件是().A.(rear-1)%n==frontB.(rear+1)%n==frontC.rear==(front-1)%nD.rear==(front+1)%n[答案]:B47.链表不具有的特点是().A.可随机访问任一元素B.插入删除不需要移动元素C.不必事先考虑存储空间D.所需空间与线性表长度成正比[答案]:A48.如果线性表最常用的操作是存取第i个元素及其前驱的值,则采用()方式存储节省时间.A.单链表B.双链表C.顺序表D.头尾循环链表[答案]:C49.若串S="software",其子串数目是().B.37C.36D.9[答案]:C50.若用单链表来表示队列,则应该选用().A.带头指针的非循环链表B.带尾指针的非循环链表C.带头指针的循环链表D.带尾指针的循环链表[答案]:D51.设广义表LS=((a,b),c,(d,e)),执行操作GetTail(GetHead(LS))后的结果是_______.A.(b)B.bC.(c,(d,e))D.(a,b)[答案]:A52.设有广义表D=((),((),())),则广义表的长度为().A.2B.3C.4D.∞[答案]:A53.树最适合用来表示().A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据[答案]:C54.数组A[5][6]的每个元素占5个单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为()A.1140B.1145C.1120D.1125[答案]:A55.数组SZ[-3…5,0…10]含有元素数目为().A.88C.80D.90[答案]:B56.算法的时间复杂度是指算法中()的次数的总和A.语句的读取时间B.语句重复存储的次数C.语句的存储时间D.语句重复执行的次数[答案]:D57.下列排序算法中,某一趟结束后未必能选出一个元素放在其最终位置上的是()A.堆排序B.冒泡排序C.快速排序D.直接插入排序[答案]:D58.线性表在_____时,宜用顺序表作存储结构.A.经常作插入,删除B.经常随机存取C.无足够连续存储空间D.经常作动态查找[答案]:B59.一棵左右子树均不空的二叉树在先序线索化后,其空指针域数为()A.0B.1C.2D.不确定[答案]:B60.已知一颗二叉树的后序遍历序列为DABEC,中序遍历序列为DEBAC,则它的先序遍历序列为().A.ACBEDB.DECABC.DEABCD.CEDBA[答案]:D二、判断题1.设串S的长度为n,则S的子串个数为n(n+1)/2[答案]:T2.从具有n个结点的二叉排序树中查找一个元素时,最坏情况下的时间复杂度为O(n). [答案]:T3.广义表中原子个数即为广义表的长度[答案]:F4.空栈就是所有元素都为0的栈.[答案]:F5.设有一个空栈,现有输入序列1,2,3,4,5,经过PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH后,输出序列是2,3.[答案]:T6.数据元素是数据的最小单位.[答案]:F7.顺序存储结构属于静态结构,链式结构属于动态结构.[答案]:T8.线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的.[答案]:F9.有回路的图不能进行拓扑排序.[答案]:T10.在所有结点的权都相等的情况下,具有平衡特性的二叉排序树一定是最佳二叉排序树. [答案]:T11.n*n对称矩阵经过压缩存储后占用的存储单元是原来的1/2.[答案]:F12.广义表是线性表的推广,是一类线性数据结构.[答案]:F13.哈希表的查找效率主要取决于哈希表造表时选取的哈希函数和处理冲突的方法.[答案]:T14.邻接表只能用于存储有向图,而邻接矩阵则可存储有向图和无向图.[答案]:F15.数据的物理结构是指数据在计算机内实际的存储形式.[答案]:T16.顺序查找法适用于存储结构为顺序或链接存储的线性表.[答案]:T17.完全二叉树中,若一个结点没有左孩子,则它必是树叶.[答案]:T18.一个图的广度优先搜索树是唯一的.[答案]:F19.在单链表中,要访问某个结点,只要知道该结点的指针即可;因此,单链表是一种随机存取结构.[答案]:F20.在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数与该元素的位置有关. [答案]:T21.串是由有限个字符构成的连续序列,串长度为串中字符的个数,子串是主串中字符构成的有限序列.[答案]:F22.广义表是由零或多个原子或子表所组成的有限序列,所以广义表可能为空表.[答案]:T23.就平均查找长度而言,分块查找最小,折半查找次之,顺序查找最大.[答案]:F24.任何AOV网拓扑排序的结果都是唯一的.[答案]:F25.数据项是数据的基本单位.[答案]:F26.顺序存储的线性表可以随机存取.[答案]:T27.稀疏矩阵压缩存储后,必会失去随机存取功能.[答案]:T28.用带表头结点的单链表表示队列,则判断队列为空的标准是头指针和尾指针均指向同一个结点.[答案]:T29.在二叉排序树上删除一个结点时,不必移动其他结点,只要将该结点的父结点的相应指针域置空即可.[答案]:F30.栈和队列都是限制存取点的线性结构[答案]:T三、名词解释1.串[答案]:串是有零个或多个字符组成的优先序列.2.关键字[答案]:关键字是数据元素中某个数据项的值,用它可以标识一个数据元素或记录.3.数据项,记录和文件.[答案]:一个元素可以有若干个数据项组成,通常把数据元素称为记录,含有大量记录的线性表称为文件.4.线性表[答案]:线性表是最常用且最简单的一种数据结构,是n个数据元素的有限序列.5.队列[答案]:队列也是线性表,它是操作受限制的线性表,队列是先进先出表.6.树[答案]:树型结构是一类重要的非线性数据结构,树是以分支关系定义的层次结构.7.数组[答案]:数组在内存中占据连续的存储单元,其数组元素具有相同的名字和类型.8.栈[答案]:栈也是线性表,它是操作受限制的线性表,栈是后进先出表.9.二叉树[答案]:二叉树的每个结点至多只有两棵子树,并且,二叉树的子树有左右之分,其次序不能任意颠倒.10.数据结构[答案]:数据结构是相互之间存在一种或多种特定关系的数据元素的xxx.11.图[答案]:图形结构中,结点之间的关系可以是任意的,图中任意两个数据元素之间都可能相关.12.内部排序方法[答案]:直接插入,折半插入,2-路插入,表插入,希尔排序,起泡排序,快速排序,选择排序,树形排序,堆排序,归并,基数.任选5个.。

数据结构考试题及答案

数据结构考试题及答案

数据结构考试题及答案一、选择题1. 下列哪种数据结构是一种线性结构?A. 树B. 栈C. 图D. 队列答案:B. 栈2. 以下哪种不是二叉树的遍历方式?A. 先序遍历B. 层序遍历C. 后序遍历D. 中序遍历答案:B. 层序遍历3. 在队列中,哪种操作不是O(1)时间复杂度的?A. 入队B. 出队C. 判空D. 获取队首元素答案:D. 获取队首元素二、填空题4. 二叉查找树的中序遍历结果为_______。

答案:升序排列的序列5. 栈的特点是_______进,_______出。

答案:后进,先出6. 图中两点间存在边则称它们为_______。

答案:邻接点三、简答题7. 请简要介绍一下栈和队列的应用场景及区别。

答:栈和队列都是常用的数据结构,栈适合用于实现括号匹配、表达式求值等场景,而队列常用于实现广度优先搜索、缓存队列等。

栈是一种后进先出的数据结构,而队列是一种先进先出的数据结构。

8. 什么是哈希表?它的优缺点分别是什么?答:哈希表是一种通过哈希函数将关键字映射到数组位置的数据结构。

其优点是能够快速查找、插入、删除元素,时间复杂度接近O(1);缺点是可能发生哈希冲突,导致性能下降。

四、综合题9. 给定以下无向图的邻接矩阵表示,请写出图的深度优先搜索(DFS)遍历路径。

```0 1 2 30 0 1 0 11 1 0 1 12 0 1 0 13 1 1 1 0```答:起始节点为0,路径:0 - 1 - 3 - 210. 写出以下树的层序遍历结果。

```1/ \2 3/ \ / \4 5 6 7```答:1 - 2 - 3 - 4 - 5 - 6 - 7以上就是数据结构考试题及答案,希望对您有所帮助。

如果有不清楚的地方,欢迎随时向老师询问。

祝您考试顺利!。

数据结构模拟试卷及参考答案

数据结构模拟试卷及参考答案

数据结构模拟试卷(一)及参考答案一.单项选择题(本大题共15小题,每小题2分,共30分)1.如果只想得到1024个元素组成的序列中的前5个最小元素,那么用( A )方法最快。

A、起泡排序B、快速排序C、堆排序D、直接选择排序2.算法分析的目的是(B)A.辨别数据结构的合理性B.评价算法的效率C.研究算法中输入与输出的关系D.鉴别算法的可读性3.在线性表的下列运算中,不改变数据元素之间结构关系的运算是(C)A.插入B.删除C.定位D.排序4.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为(D)A.3,2,6,1,4,5 B.5,6,4,2,3,1C.1,2,5,3,4,6 D.3,4,2,1,6,55.设串sl=″DataStructureswithJava″,s2=″it″,则子串定位函数index(s1,s2)的值为(A)A.15 B.16C.17 D.186.一个顺序存储的线性表的第一个元素的存储地址是100,每个元素的长度为4,则第4个元素的存储地址是(B)。

A. 108B. 112C. 116D. 1207.从一个具有n个结点的单链表中查找其值等于x的结点,在查找成功的情况下,平均需要比较(C)个结点。

A. nB. n/2C. (n+1)/2D. (n-1)/28.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系(D)A.不一定相同 B.互为逆序C.都不相同D.都相同9.高度为5的二叉树至多有结点数为(A)A. 63B. 32C. 24D.6410.若用邻接矩阵表示一个有向图,则其中每一列包含的″1″的个数为(B)A.图中每个顶点的出度B.图中每个顶点的入度C.图中弧的条数D.图中连通分量的数目11.图的邻接矩阵表示法适用于表示(C)A.无向图B.有向图C.稠密图D.稀疏图12.在一个单链表中,若p所指的结点不是最后一个结点,在p之后插入s所指的结点,则执行(D)。

数据结构(第二版) 模拟试题自测卷AB卷带答案3

数据结构(第二版) 模拟试题自测卷AB卷带答案3

试卷B一、选择题(本题共20分,每题2分)1.在数据结构中,从逻辑上可以把数据结构分成( ) 。

A .动态结构和静态结构 B. 线性结构和非线性结构 C. 紧凑结构和非紧凑结构 D. 内部结构和外部结构 2. 下列程序段的时间复杂度是( )count=0;for(k=1;k<=n;k*=2) for(j=1;j<=n;j++) count++;A.O(nlog2n)B.O(n)C.O(log2n)D.O(n2) 3. 以下描述错误的是:( )A. 线性表是n 个数据元素的有限非空集合。

B. 栈和队列都是操作受限的线性表。

C. 串(或字符串)是由零个或多个字符组成的有限序列。

D. 非空栈中的栈顶指针top 始终指向栈顶元素的下一个位置。

4. 若采用少用一个队列空间的方法来区分队满队空两种状态,则判定一个顺序循环队列 Q (最大队列长度MAXSIZE )为满队列的条件是( )。

A. Q.front=Q.rearB. Q.front!=Q.rearC. Q.front=(Q.rear+1) % MAXSIZED. Q.front!=(Q.rear+1) % MAXSIZE 5. 按照二叉树的定义,具有 3 个结点的二叉树有( )种。

A. 3 B. 4 C. 5 D. 66. 设矩阵A (如下图所示)是一个对称矩阵,为了节省存储,将其下三角(包括对角线)部分按行序存放在一维数组 B[n(n+1)/2]中,对下三角部分中任一元素 ai,j(i ≥j),在一维数组 B 的下标位置k 的值是( )。

A. i(i-1)/2+j-1 B. i(i-1)/2+j C. i(i+1)/2+j-1 D. i(i+1)/2+j0,01,01,11,01,11,1...............n n n n a a a A a a a ----⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦7. 有一个有序表为{5, 18,23, 33, 42, 54,56,78},当折半查找56时,经过( )次比较后查找成功。

数据结构模拟2--带答案

数据结构模拟2--带答案

数据结构模拟题2一、判断题。

判断下列各题是否正确,若正确,在答题卡中涂“A”,否则涂“B”。

1.线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。

Χ2.线性表的链式存储结构优于顺序存储结构。

Χ3.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。

Χ4.顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。

Χ5.链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动将后续各个单元向前移动。

Χ6.两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。

√7.在循环队列中,元素的个数为rear-front。

Χ8.完全二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。

√9.邻接表存储结构只用于有向图的存储,邻接矩阵对有向图和无向图的存储都适用。

Χ10.连通分量是无向图中的极小连通子图。

Χ11.没有回路的图能进行拓扑排序。

√12.生成树指的是图的极大连通子图。

Χ13.采用折半查找法对有序表进行查找总比采用顺序查找法对其进行查找要快。

Χ14.采用线性探测法处理冲突时,当从哈希表中删除一个记录时,不应将这个记录的所在位置的数据置空,因为这样会影响以后的查找。

√15.对于给定的关键字集合,以不同的次序插入到初始为空的二叉排序树中,得到的二叉排序树是相同的。

Χ二、单选题。

1.数据结构可以分为三大类,它们是【】、树和图。

AA、线性表B、栈和队列C、链表D、顺序表2.下列程序段的时间复杂度为【】。

Afor(i=0;i<m;i++)for(j=0;j<t;j++)c[i][j]=0;for(i=0;i<m;i++)for(j=0;j<t;j++)for(k=0;k<n;k++)c[i][j]=c[i][j]+a[i][k]*b[k][j];A 、 O(m*n*t)B 、 O(m+n+t)C 、 O(m+n*t)D 、 O(m*t+n)3.若线性表的最常用的操作是存取第i 个元素及其前驱元素的值,则采用【 】存储方式最省时间。

数据结构模拟练习题1 参考答案

数据结构模拟练习题1 参考答案

数据结构模拟练习题1 参考答案一、单项选择题(每小题2分,共30分)1、算法的计算量的大小称为计算的( B )。

A.效率 B. 复杂性 C. 现实性 D. 难度2、静态链表中指针表示的是(B)A.内存地址 B.数组下标 C.下一元素地址 D.左、右孩子地址3、对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为(C)A.O(n) O(n) B. O(n) O(1) C. O(1) O(n) D. O(1) O(1)4、在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:(D )。

A.p->next=s;s->next=p->next; B.p->next=s->next;p->next=s;C.p->next=s;p->next=s->next; D. s->next=p->next;p->next=s;5、设有一顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素出栈的顺序是s2,s3,s4, s6 , s5,s1,则栈的容量至少应该是( B )A.2B. 3C. 5D.66、串是一种特殊的线性表,其特殊性体现在(B)。

A.可以顺序存储 B.数据元素是一个字符C.可以链接存储 D.数据元素可以是多个字符7、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( D )。

A.9 B.11 C.15 D.不确定8、列说法中正确的是( A )。

A.任何一棵二叉树中至少有一个结点的度为2B.任何一棵二叉树中每个结点的度都为2C.任何一棵二叉树中的度肯定等于2D.任何一棵二叉树中的度可以小于29、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为( B )。

A.CBEFDA B. FEDCBA C. CBEDFA D.不定10、下列哪一种图的邻接矩阵是对称矩阵( B )。

《数据结构》模拟试题与参考答案2(四套题)

《数据结构》模拟试题与参考答案2(四套题)

《数据结构》模拟试题A一、单项选择题(每题 3 分,共24分)1.下面关于线性表的叙述错误的是()。

(A) 线性表采用顺序存储必须占用一片连续的存储空间(B) 线性表采用链式存储不必占用一片连续的存储空间(C) 线性表采用链式存储便于插入和删除操作的实现(D) 线性表采用顺序存储便于插入和删除操作的实现2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。

(A)2m-1 (B)2m (C) 2m+1 (D) 4m3.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()。

(A) R-F (B) F-R (C) (R-F+M)%M (D) (F-R+M)%M4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。

(A) BADC (B) BCDA (C) CDAB (D) CBDA5.设某完全无向图中有n个顶点,则该完全无向图中有()条边。

(A) n(n-1)/2 (B) n(n-1) (C) n2 (D) n2-16.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。

(A) 9(B) 10(C) 11(D) 127.设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。

(A) n-1 (B) n (C) n+1 (D) 2n-18.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()。

(A) 2,3,5,8,6 (B) 3,2,5,8,6(C) 3,2,5,6,8 (D) 2,3,6,5,8二、填空题(每题2分,共16分)1.为了能有效地应用HASH查找技术,必须解决的两个问题是()和()。

2.下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句。

数据结构(第二版) 模拟试题自测卷AB卷带答案1

数据结构(第二版) 模拟试题自测卷AB卷带答案1
A. a B. b C.NULL D.x
5.在一个单链表HL中,若要删除由指针q所指向结点的后继结点,则执行________。
A.p=q->next; p->next=q->next;free(p);
B.p=q->next; q->next=p; free(p);
C.p=q->next; q->next=p->next; free(p);
试卷一
一、选择题(本题共30分,每题2分)
1.计算机识别、存储和加工处理的对象被统称为________。
A.数据B.数据元素C.数据结构D.数据类型
2.已知一栈的进栈序列为:1234,则下列哪个序列为不可能的出栈序列________。
A.1234B.4321 C.2143D.4123
3.链表不具有的特点是________。
(1)直接插入排序
(2)基数排序
5.对于下面所示的连通图,写出由Prim算法生成的最小生成树。(5分)
6.将下面的树转化为一棵二叉树,并写出对二叉树进行层序遍历的序列。(7分)
四、算法题(本题共20分)
1.完成中序遍历二叉树。
Typedef struct node
{
Char data;
Struct node *lchild;
3.数据的逻辑结构包括集合、________、________和图状结构四种类型。
4.图的两种遍历方式为:广度优先遍历和_______________。
5.线性表的链式存储结构中的结点包含________域和________域。
6.向一棵二叉搜索树中插入一个元素时,若元素的值小于根结点的值,则应把它插入到根结点的_______上。

数据结构模拟试题五及答案

数据结构模拟试题五及答案

数据结构模拟试题五一、( 共34分,每题2分)单项选择题1、在非空循环双链表中q所指的结点前插入一个由p所指结点的过程依次为:p->next=q;p->prior=q->prior;q->prior=p;();A.q->next=p B.q->prior->next=p C.p->prior->next=pD.p->next->prior=p E.以上答案都不对2、已知有向图G=(V,E),其中V={v1,v2,v3,v4,v5,v6,v7},E={<v1,v2>,<v1,v3>,<v1,v4>,<v2,v5>,<v3,v5>,<v3,v6>,<v4,v6>,<v3,v7>,<v6,v7>},G的拓扑序列是()。

A.v1,v3,v4,v6,v2,v5,v7 B.v1,v3,v2,v6,v4,v5,v7C.v1,v3,v4,v5,v2,v6,v7 D.v1,v2,v5,v3,v4,v6,v7E.以上答案都不对3、每个存储结点只含有一个数据元素,存储结点均匀地存放在连续的存储空间,使用函数值对应结点的存储位置,该存储方式是()存储方式A.顺序 B.链接 C.索引 D.散列 E.以上答案都不对4、对于单链表形式的队列,队空的条件是()A.F=R=nil B.F=R C.F≠nil且R=nil D.R-F=1E.以上答案都不对5、采用邻接表存储的图的深度优先遍历算法类似于树的()。

A.中根遍历 B.先根遍历 C.后根遍历 D.按层次遍历E.以上答案都不对6、对于序列(49,38,65,97,76,13,27,50)按由小到大进行排序,()是初始步长d=4的希尔排序法第一趟的结果。

A.49,76,65,13,27,50,97,38B.13,27,38,49,50,65,76,97C.97,76,65,50,49,38,27,13D.49,13,27,50,76,38,65,97E.以上答案都不对7、在一个长度为n的顺序表的表尾插入一个新元素的渐进时间复杂度为()。

数据结构模拟题贰_答案

数据结构模拟题贰_答案

一、选择题(共20分,共10题,每题2分)1. 关于顺序表的叙述错误的是(D )。

A.要占用连续存储空间 B.单个数据所需内存空间比链表少C.随机存取功能比链表强D.插入与删除不需要移动大量元素2. 在线索化二叉树中,T所指结点没有左子树的充要条件是( B )。

A. T->Lchild=NULLB. T->LTag=1C. T->RTag=0D. T->RTag=13. 能够在AOE网络中计算源点到汇点最长路径的算法是( A )。

A. 关键路径算法B. 深度优先搜索C. 拓扑排序D. Prim4. 在长度为n的顺序线性表中顺序查找值为x的元素时,查找成功时的平均查找长度(等概率情况下)为( C )。

A. nB. n/2C. (n+1)/2D. (n-1)/25. 以下排序算法中不稳定的是(B )。

A. 冒泡排序B. 希尔排序C. 直接插入排序D. 归并排序6. 若长度为n的线性表采用顺序存储结构,删除表中1个数据元素的平均算法时间复杂度是( A )。

A. O( (n-1)/2 )B. O( (n+1)/2 )C. O( (n2-1)/2 )D. O( (n+1)/2 )7. 下列几种二叉树中任意交换其左右子树仍然保持性质不变的是( A )。

A. 最优二叉树B.排序二叉树C. 平衡二叉树D. 以上都不是8. 下面的说法中,正确的是( A )。

A. 全源最短路径Floyd算法非常类似矩阵的自乘运算B. 从源点到终点的最短路径是唯一的C. 无向图最小生成树权值之和一定小于其它生成树权值之和D. 任意一个AOV网中的关键路径是唯一的9. 希尔排序的时间复杂度是( D )。

A. O( n·log n )B. O( n2·log n )C. O(n2)D. 以上都不是10. 根据大顶堆的定义,下列四个序列中,是一个堆积的是( C )。

A. 7565301525452010B. 7565451030252015C. 7545653015252010D. 7545651025302015二、填空题(共20分,共5题,每空2分)1.为了区分循环队列判空的条件,循环队列判满的方法有计数器法、设置标志位法、牺牲一个存储单元法。

数据结构模拟试题(含答案)

数据结构模拟试题(含答案)

数据结构模拟试题(含答案)一、单选题(共100题,每题1分,共100分)1、在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为()个。

A、5B、6C、7D、4正确答案:B2、假设在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为()个。

A、15B、47C、16D、17正确答案:C3、设某哈夫曼树中有199个结点,则该哈夫曼树中有()个叶子结点。

A、100B、99C、102D、101正确答案:A4、一棵含18个结点的二叉树的高度至少为( )A、5B、4C、6D、3正确答案:A5、有关栈的描述,正确的是()A、栈是一种先进先出的特殊的线性表B、只能从栈顶执行插入、删除操作C、只能从栈顶执行插入、栈底执行删除D、栈顶和栈底均可执行插入、删除操作正确答案:B6、若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的()A、中序遍历算法B、前序遍历算法C、后序遍历算法D、层次遍历算法正确答案:A7、若要在单链表中的结点*p之后插入一个结点*s,则应执行的语句是( ) typedef struct node { char data[8]; struct node *next; } LinkStrNode;A、s->next=p; p->next=s->next;B、s->next=p->next; p->next=s;C、p->next=s->next; s->next=p;D、p->next=s; s->next=p->next;正确答案:B8、在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为( )。

A、O(n)B、O(1)C、O(n2)D、O(n/2)正确答案:A9、执行一趟快速排序能够得到的序列是()。

A、[45,34,12,41] 55 [72,63,27]B、[63,12,34,45,27] 55 [41,72]C、[12,27,45,41] 55 [34,63,72]D、[41,12,34,45,27] 55 [72,63]正确答案:D10、带权有向图G用邻接矩阵A存储,则顶点i 的入度等于A中()。

数据结构模拟试题附答案

数据结构模拟试题附答案

数据结构试卷(1)一、选择题(30分)1.设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为()。

(A) 20 (B) 30 (C) 40 (D) 452.执行一趟快速排序能够得到的序列是()。

(A) [41,12,34,45,27] 55 [72,63](B) [45,34,12,41] 55 [72,63,27](C) [63,12,34,45,27] 55 [41,72](D) [12,27,45,41] 55 [34,63,72]3.设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是()。

(A) head==0 (B) head->next==0(C) head->next==head (D) head!=04.时间复杂度不受数据初始状态影响而恒为O(nlog2n)的是()。

(A) 堆排序(B) 冒泡排序(C) 希尔排序(D) 快速排序5.设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是()。

(A) 空或只有一个结点(B) 高度等于其结点数(C) 任一结点无左孩子(D) 任一结点无右孩子6.一趟排序结束后不一定能够选出一个元素放在其最终位置上的是()。

(A) 堆排序(B) 冒泡排序(C) 快速排序(D) 希尔排序7.设某棵三叉树中有40个结点,则该三叉树的最小高度为()。

(A) 3 (B) 4 (C) 5 (D) 68.顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为()。

(A) O(n) (B) O(n2) (C) O(n1/2) (D) O(1og2n)9.二路归并排序的时间复杂度为()。

(A) O(n) (B) O(n2) (C) O(nlog2n) (D) O(1og2n)10. 深度为k的完全二叉树中最少有()个结点。

(A) 2k-1-1 (B) 2k-1(C) 2k-1+1 (D) 2k-111.设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为()。

数据结构试题及答案(十套)

数据结构试题及答案(十套)

数据结构试题及答案(十套)数据结构试题及答案(十套)一、选择题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. 简要介绍顺序存储和链式存储这两种线性表的存储方式,并比较它们的优缺点。

答案:顺序存储是将元素按照逻辑顺序依次存储在一块连续的存储空间中,通过元素的下标可以直接访问到元素。

数据结构参考答案

数据结构参考答案

《数据结构》模拟卷A一、选择题1.在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为( A )。

A. O(n)B. O(n/2)C. O(1)D. O(n2)2.带头结点的单链表first为空的判定条件是:( B )。

A. first == NULL;B. first->link == NULL;C. first->link == first;D. first != NULL;3. 从逻辑上可以把数据结构分为( C )两大类。

A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构4.在系统实现递归调用时需利用递归工作记录保存实际参数的值。

在传值参数情形,需为对应形式参数分配空间,以存放实际参数的副本;在引用参数情形,需保存实际参数的( D ),在被调用程序中可直接操纵实际参数。

A. 空间B. 副本C. 返回地址D. 地址5. 以下数据结构中,哪一个是线性结构( D )。

A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串6. 以下属于逻辑结构的是( C )。

A.顺序表 B. 哈希表 C.有序表 D. 单链表7.对于长度为9的有序顺序表,若采用折半搜索,在等概率情况下搜索成功的平均搜索长度为( C )的值除以9。

A. 20B. 18C. 25D. 228.在有向图中每个顶点的度等于该顶点的( C )。

A. 入度B. 出度C. 入度与出度之和D. 入度与出度之差9.在基于排序码比较的排序算法中,( C )算法的最坏情况下的时间复杂度不高于O(nlog2n)。

A. 起泡排序B. 希尔排序C. 归并排序D. 快速排序10.当α的值较小时,散列存储通常比其他存储方式具有( B )的查找速度。

A. 较慢B. 较快C. 相同D.不同二、填空题1.二维数组是一种非线性结构,其中的每一个数组元素最多有______2___个直接前驱(或直接后继)。

2.将一个n阶三对角矩阵A的三条对角线上的元素按行压缩存放于一个一维数组B中,A[0][0]存放于B[0]中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12、在队列中,允许进行插入操作的一端称为________,允许进行删除操作的一端称为________。
13、在一个带头结点的单循环链表中,p指向尾结点的直接前驱,则指向头结点的指针head可用p表示为head=。
15、对于一棵具有n个结点的树,该树中所有结点的度数之和为__________。
16、 8层完全二叉树至少有个结点,拥有300个结点的完全二叉树的最大层数为。
A.p=p->next; B.p->next=p->next->next;
C.p->next=p; D.p=p->next->next;
3.在长度为n的顺序表,当在任何位置上删除一个元素的概率相等时,删除一个元素需要移动的元素的平均个数为( )
A.n/2 B.(n-1)/ 2C.(n+1)/2D.(n+2)/2
4、输入下列整数序列,画出建立的二叉排序树,最后分别图示将其中50,86删除后的二叉排序树。(86,50,78,90,64,55,23,100,40,80,45)。
五、算法题(共30分,其中第1、2小题各占6分,第3、4小题各占9分)
1、假设一个单循环链表L的数据域为整型,设计一个算法,求该表中所有结点的数据之和。
6、()如果有向图G=(V,E)的拓扑序列唯一,则图中必定仅有一个顶点的入度为0,一个顶点的出度为0。
8、()广义表的长度是指广义表中原子的个数。
9、()在快速排序算法中,以待排序的n个记录中的第一个记录的键值为基准,将所有记录分为两组,该记录就在这两组的中间,这也是该记录的最终位置。
10、()在一个大根堆中,最小元素不一定在最后。
7.以下序列不是堆的是( )。
A.(100,85,98,77,80,60,82,40,20,10,66)
B.(100,98,85,82,80,77,66,60,40,20,10)
C.(100,85,40,77,80,60,66,98,82,10,20)
D.(10,20,40,60,66,77,80,82,85,98,100)
(1)画出该图的图形;
(2)根据邻接矩阵从顶点a出发进行深度优先遍历和广度优先遍历,写出相应的遍历序列。
3、已知线性表的关键字集合{87, 25, 310, 08, 27, 132, 68, 95, 187, 123, 70, 63, 47},已知哈希函数为H(k)=k MOD 13,采用拉链法处理冲突,设计出该哈希表的结构。
7、在有序表A[1….20]中,采用二分查找算法查找元素值等于A[12]的元素,所比较的元素的下标依次为。
8、直接选择排序算法所执行的元素交换次数最多为。
9、在带有头结点的单链表L中,第一个元素结点的指针是。
10、具有100个结点的完全二叉树的深度是。
11、在一个长度为n的顺序表中第i个元素(1≤i≤n)之前插入一个元素时,需向后移动___________个元素。
2、设某二叉树以二叉链表为存储结构,请写出求其高度的递归算法。
3、假设有两个按元素值递增有序排列的线性表A和B,均以单链表作存储结构,请编写算法将表A和表B归并成一个按元素非递减有序(允许值相同)排列的线性表C。
4、试写出二叉链表表示的二叉树的先序遍历的非递归算法。
数据结构试题(A05参考答案)
一、选择题1~5:ABBBB 6~9:DCDD
1、()若某二叉树的叶子结点数为1,则其先序序列和后序序列一定相反。
2、()线性表采用链表方式和顺序表方式存储,执行插入和删除运算的时间复杂度都是O(n),因而两种存储方式的插入、删除运算所花费的时间相同。
3、()在栈为空的情况下,不能作出栈操作,否则产生下溢。
5、()在一个有向图的邻接表中,如果某个顶点的链表为空,则该顶点的度一定为0。
4.一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( )
A. 2 3 4 1 5B. 5 4 1 3 2 C. 2 3 1 4 5D. 1 5 4 3 2
6.设循环队列中数组的下标范围是1~n,其头尾指针分别为f和r,则其元素个数为( )
A. r-fB. r-f+1
C. (r-f) mod n+1D. (r-f+n) mod n
1、在单链表中,删除指针P所指结点的后继结点的语句是。
2、线性表的两种存储结构分别是和。
3、己知完全二叉树的第4层有5个结点,则其叶子结点数是。
4、将下三角矩阵A[1….8,1….8]的下三角部分逐行地存储到起始地址为1000的内存单元中,已知每个元素占4个单元,则A[7,5]的地址是。
5、有n个结点的强连通有向图G至少有条弧。
8.在有序表(12,24,36,48,60,72,84)中折半查找关键字72时所需进行的关键字比较次数为( )。
A. 3 B. 4 C. 5 D. 2
9.在待排序的元素序列基本有序的前提下,效率最高的排序方法是( )。
A.选择排序B.冒泡排序
C.快速排序D.插入排序
二、填空题(共20小题,每小题1分,共20分)
数据结构试题(A05)
一、选择题(共10小题,每小题1分,共10分)
1.下面程序段的时间复杂度是( )
m=0;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
m=m+1;
A. O(n2) B.O(m+n+1) C.O(m+n) D. O(n)
2.在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是( )
四、解答题(共30分,其中第1、2小题各占7分,第3、4小题各占8分)
1、已知二叉树T的先序遍历序列为ABCDEFGHIJKLMN,中序遍历序列为DCFEGBAIHKJMLN。请画出该二叉树T,并写出它的后序遍历序列。
a
b
c
dபைடு நூலகம்
e
2、已知一个无向图的顶点集为{a,b,c,d,e} ,其邻接矩阵如下所示
17、 有n个结点的有向连通图,其边数最多为____条,最少有____条。
18、设n0为赫夫曼树的叶子结点数目,则该赫夫曼树共有_____个结点。
19、顺序查找n个元素的顺序表,若查找成功,则比较关键字的次数最多为____次。
三、判断题(共10小题,每小题1分,共10分)
判断下列各题是否正确,若正确,在()内打“√”,否则打“╳”。
相关文档
最新文档