数据结构模拟试题(1)

合集下载

数据结构模拟试题1

数据结构模拟试题1

一、填空题(共20分,每空1分)。

1.数据结构是研究数据元素之间抽象化的相互关系和这种关系在计算机中的存储结构表示,通常有下列四种存储结构:(1)、(2)、(3)和(4)。

2.评价算法的标准很多,通常是以执行算法所需要的(5)和所占用的(6)来判别一个算法的优劣。

3.队列操作的原则是(7),栈的插入和删除操作在(8)进行。

4.对循环队列Q,它的最大存储空间是MAXSIZE,队头指针是front,队尾指针是rear,采用少用一个存储单元的方法解决假溢出时,队满的判断条件是(9),队空的判断条件是(10)。

5.在以head 为表头指针的带有头结点的单链表和循环单链表中,判断链表为空的条件分别为(11)和(12)。

6.假设二维数组A[6][8],每个元素用相邻的4个字节存储,存储器按字节编址,已知A[0][0]的存储位置为100,按行优先顺序存储的元素A[2][5]的第一个字节的地址为(13)。

7.空格串的长度为串中所包含(14)字符的个数,空串的长度为(15)。

8.有向图G 用邻接矩阵A[n][n] 存储表示,其第i 行的所有元素之和等于顶点i 的(16)。

9.在关键字序列(12 ,23 ,34 ,45 ,56 ,67 ,78 ,89 ,91) 中折半查找关键字为89和25的结点时,所需进行的比较次数分别为(17)和(18)。

10.请说出两种处理哈希冲突的方法(19)、_(20)_。

二、选择题(共20分,每题2分)。

1.对线性表,在下列哪种情况下应采用链式存储结构?()A.经常需要随机存取元素B.经常需要进行插入和删除操作C.表中元素的个数不变D.表中元素需要占据一片连续的存储空间2.从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功情况下,则平均比较()个结点。

A.nB.n/2C.(n-1)/2D.(n+1)/23.若对某线性表最常进行的操作是在最后一个元素之后插入和删除第一个元素,则采用()存储方式最节省运算时间。

数据结构试题及答案(1)

数据结构试题及答案(1)

数据结构试题一、单选题1、在数据结构的讨论中把数据结构从逻辑上分为(C )A 内部结构与外部结构B 静态结构与动态结构C 线性结构与非线性结构D 紧凑结构与非紧凑结构。

2、采用线性链表表示一个向量时,要求占用的存储空间地址(D )A 必须是连续的B 部分地址必须是连续的C 一定是不连续的D 可连续可不连续3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为( D )。

A nB n/2C (n-1)/2D (n+1)/24、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行( D )。

A s→link = p→link; p→link = s;B p→link = s; s→link = q;C p→link = s→link; s→link = p;D q→link = s; s→link = p;5、如果想在4092个数据中只需要选择其中最小的5个,采用( C )方法最好。

A 起泡排序B 堆排序C 锦标赛排序D 快速排序6、设有两个串t和p,求p在t中首次出现的位置的运算叫做( B )。

A 求子串B 模式匹配C 串替换D 串连接7、在数组A中,每一个数组元素A[i][j]占用3个存储字,行下标i从1到8,列下标j从1到10。

所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字数是( C )。

A 80B 100C 240D 2708、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。

A 栈B 队列C 循环队列D 优先队列9、一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为( C )。

10、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( D )。

A ( front - rear + 1) % mB ( rear - front + 1) % mC ( front - rear + m) % mD ( rear - front + m) % m11、一个数组元素a[i]与( A )的表示等价。

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

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

全真模拟试题(一)一、单项选择题(在每小题的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”。

数据结构研究生入学考试模拟题(一)

数据结构研究生入学考试模拟题(一)

哈尔滨工业大学二〇〇八年硕士研究生考试模拟试题(一)考试科目:计算机专业基础适用专业:计算机科学与技术I 数据结构(含高级语言)部分(共75分)一、填空题(每空1分,共9分)+−++的后缀表达式1.表达式23((12*32)/434*5/7)108/9是。

2.设有一个10阶对称矩阵A采用压缩存储方式(以行为主序存储:a11=1),则a85的地址为。

3.设有广义表A=(((a,b),x),((a),(b)),(c,(d,(y)))),得到y的对广义表A的操作序列为。

4.如果二叉树有20个叶结点,有30个结点仅有一个孩子,则该二叉树的总节点数为。

5.G是一个非连通无向图,共有28条边,则该图至少有个顶点。

6.构造n个结点的强联通图,至少有条弧。

7.设表长为1023的有序线性表,查找每个元素的概率相等,采用折半查找方法,查找成功的ASL是。

8.分别采用堆排序、快速排序、冒泡排序和归并排序,对初太为有序的表,则最省时间的是算法,最费时间的是算法。

二、单项选择题(每题1分,共11分)1.静态链表中指针表示的是()A 下一元素的地址B 内存储器的地址C 下一元素在数组中的位置D 左链或右链指向的元素的地址2.计算算法的时间复杂度是属于一种()A 事前统计的方法B 事前分析估算的方法C 事后统计的方法D 时候分析估算的方法3.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()A 1和5B 2和4C 4和2D 5和14.若6行5列的数组以列序为主序顺序存储,基地址为1000,每个元素占2个存储单元,则第3行第4列的元素(假定无第0行第0列)的地址是()A 1040B 1042C 1026D 都不正确5.一棵124个叶节点的完全二叉树,最多有()个节点。

A 247B 248C 249D 250E 251 6.有n (n>0)个分支结点的满二叉树的深度为( ) A n 2-1 B log 2(n+1)+1 C log 2(n+1) D log 2(n-1) 7.某二叉树结点的中序序列为BDAECF ,后续序列为DBEFCA ,则该二叉树对应的森林包括( )棵树。

数据结构试题及答案(1)A

数据结构试题及答案(1)A

数据结构试卷一、填空殖(每空1分共20分)1.数据的物理结构主要包括___顺序存储结构__________和_链式_____________两种情况。

2.设一棵完全二叉树中有500个结点,则该二叉树的深度为_______9___;若用二叉链表作为该完全二叉树的存储结构,则共有______501_____个空指针域.3.设输入序列为1、2、3,则经过栈的作用后可以得到_____6______种不同的输出序列。

4.设有向图G用邻接矩阵A[n][n]作为存储结构,则该邻接矩阵中第i行上所有元素之和等于顶点i的___出度_____,第i列上所有元素之和等于顶点i的____入度____。

5.设哈夫曼树中共有n个结点,则该哈夫曼树中有___0_____个度数为1的结点。

6.设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为____e=d_____。

7.____中序______遍历二叉排序树中的结点可以得到一个递增的关键字序列(填先序、中序或后序).8.设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较_____7___次就可以断定数据元素X是否在查找表中。

9.不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为______1______。

10.设有n个结点的完全二叉树,如果按照从自上到下、从左到右从1开始顺序编号,则第i个结点的双亲结点编号为___i/2_________,右孩子结点的编号为____2i+1_______。

11.设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的一趟快速排序结果为_____5 16 71 23 72 94 73______。

12.设有向图G中有向边的集合E={〈1,2〉,<2,3>,〈1,4〉,〈4,2>,〈4,3〉},则该图的一种拓扑序列为___1 4 2 3___。

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

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

数据结构模拟试题一一、判断题(每小题1 分,共15分)1.计算机程序处理的对象可分为数据和非数据两大类。

2.全体自然数按大小关系排成的序列是一个线性表。

3.在描述单向链表的结点类型时,必须首先描述数值字段,然后再描述指针字段。

4.顺序栈是一种规定了存储方法的栈。

5.树形结构中的每个结点都有一个前驱。

6.在任何一棵完全二叉树中,最多只有一个度为1的分支结点。

7.若某顶点是有向图的根,则该顶点的入度一定是零。

8.如果某图的邻接矩阵有全零的行,没有全零的列,则该图一定是有向图。

9.用一维数组表示矩阵可以节省存储空间。

10.广义表的长度与广义表中含有多少个原子元素有关。

11.分块查找的效率与线性表被分成多少块有关。

12.散列表的负载因子等于存入散列表中的结点个数。

13.在起泡排序过程中,某些元素可能会向相反的方向移动。

14.按某种逻辑关系组织起来的记录的集合称为逻辑记录。

15.索引非顺序文件的特点是索引表中的索引项不一定按关键字大小有序排列。

二、填空题(每空1分,共15分)1.顺序表是一种_____________线性表。

2.若用Q[1]~Q[m]作为非循环顺序队列的存储空间,则对该队列最多只能执行___次插入操作。

3.栈和队列的区别在于________的不同。

4.在高度为h(h≥0)的二叉树中至少有___个结点,至多有___个结点。

5.若用二叉链表来存储具有m个叶子,n个分支结点的树,则二叉链表中有___个左指针域为空的结点,有___个右指针域为空的结点。

6.n个顶点的有根有向图中至少有___条边,至多有___条边。

7.10行20列矩阵若用行优先顺序表来表示,则矩阵中第8行第7列元素是顺序表中第___个元素。

8.在各元素查找概率相等的情况下,用顺序查找方法从含有12个元素的有序表中查找一个元素,元素间的平均比较次数是_____。

9.在归并两个长度为m的有序表时,排序码的比较次数至少是___次,至多是___次。

数据结构模拟题1分析

数据结构模拟题1分析

数据结构试题1总共:15题,共100.0分一、单选(共8小题,24.0分)1.向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动______个元素。

(3分)A.8B.63.5C.63D.72.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,则A[4][5]在()位置,(10)表明用10进数表示。

(3分)A.672(10)B.626(10)C.709(10)D.724(10)3.一个有序顺序表有255个对象,采用顺序搜索法查表,平均搜索长度为________。

(3分)A.128B.127C.126D.2554.含5个结点(元素值均不相同)的二叉顺序搜索法查表,平均搜索长度为_______。

(3分)A.54B.42C.36D.655.在分析折半搜索的性能时常加入失败结点,即外结点,从而形成扩充的二叉树。

若设失败结点i所在层次为I i,那么搜索失败到达失败所做的数据比较次数是__________。

(3.0分)A.I i+1 B.I i+2C.I i-1D.I i6.设有一个含200个表项的散列表,用线性探查法解决冲突,按关键码查询时找到一个表项的平均控查次数不超过1.5,则歼列存储空间应容纳________个表项。

(设搜索成功的平均搜索长度为s m=(1+1/(1-α))/2,其中α为装填因子)A.400B.526C.624D.6767.n个顶点的连通图至少有______条边。

(3.0分)A.n-1B.nC.n+1D.08.一个二叉树按顺序方式存储在一个一维数组中,如图01234567891011121314二、简答(共4小题,46.0分)1.如右所示的连通图,请画出:(1)以顶点①为根的深度优先生成树;(2)如果有关节点,请找出所有的关节点。

2.设有13个初始归并段,其长度分别为28,16,37,42,5,9,13,14,20,17,30,12,18。

数据结构清华大学模拟试题一答案

数据结构清华大学模拟试题一答案

清华大学模拟题一一.单项选择题(2分/题)1.一个栈的输入序列为12345,则下列序列中是栈的输出序列的是()。

知道这题的解题思路吗?A.23415B.54132C.31245D.142532.设循环队列中数组的下标范围是1~n,其头尾指针分别为f和r,则其元素个数为()。

A.r-fB.r-f+1C.(r-f) mod n +1D.(r-f+n) mod n3.二叉树在线索化后,仍不能有效求解的问题是()。

这题是线索化问题,可能你没看过。

可以等我去给你讲。

A.先序线索二叉树中求先序后继B. 中序线索二叉树中求中序后继C.中序线索二叉树中求中序前驱D. 后序线索二叉树中求后序后继4.求最短路径的FLOYD算法的时间复杂度为()。

(那Djstla的时间复杂度呢?)A.O(n)B.O(n+e)C.O(n2)D.O(n3)5.一棵左右子树不空的二叉树在先序线索化后,其空指针域数为()。

(知道是哪个指针域吗?就是最后一个访问的节点的右指针,因为它没有后继节点。

)A.0B.1C.2D.不确定6.数组A[1..5,1..6]的每个元素占5个单元,将其按行优先顺序存储在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为()。

这题可要会哟@A.1140B.1145C.1120D.11257.在下列排序算法中,在待排序的数据表已经为有序时,花费时间反而最多的是()。

(要知道为什么,这个我跟你讲过)A.快速排序B.希尔排序C.冒泡排序D.堆排序8.对有18个元素的有序表做折半查找,则查找A[3]的比较序列的下标依次为()。

(这题的数组下标应该说明一下是A[1..18])A.1-2-3B.9-5-2-3C.9-5-3D. 9-4-2-39.下列排序算法中,某一趟结束后未必能选出一个元素放在其最终位置上的是()。

这些题出的都不错!A.堆排序B.冒泡排序C.快速排序D.直接插入排序10.在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡点为A,并已知A的左孩子的平衡因子为-1,右孩子的平衡因子为0,则做()型调整以使其平衡。

数据结构试题

数据结构试题

数据结构试题部分题目或答案有问题,现将已经发现的公布如下,同学在作这些模拟题的时候应着重做题方法的理解,遇到问题以教材或课件为准,不确定的地方可找同学商量或问我(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、对一棵二叉排序树进行()遍历,可以得到该二叉树的所有结点按值从小到大排列的序列。

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

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

数据结构试卷(一)一、单选题(每题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。

5 B.6 C.7 D。

8二、填空题(每空1分,共26分)1.通常从四个方面评价算法的质量:_________、_________、_________和_________。

2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________.3.假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数为__________个,树的深度为___________,树的度为_________。

数据结构(第二版) 模拟试题自测卷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.向一棵二叉搜索树中插入一个元素时,若元素的值小于根结点的值,则应把它插入到根结点的_______上。

(2019级使用)《数据结构》测试题

(2019级使用)《数据结构》测试题

《数据结构》试题(模一)一、单项选择题(从下列各题四个备选答案中选出一个正确答案,将其代号(A,B,C,D)写在下表中,答题写在其它地方无效;每小题1分,共11分)1.A.元素B.结点C.数据类型D.数据项2.下列算法suanfa2的时间复杂度为____。

int suanfa2(int n){ int t=1;while(t<=n)t=t*2;return t;}A.O(log2n)B.O(2n)C.O(n2)D.O(n)3.____又称为FIFO表。

A.队列B.散列表C.栈D.哈希表4.若6行8列的数组以列序为主序顺序存储,基地址为1000,每个元素占2个存储单元,则第5行第3列的元素(假定无第0行第0列)的地址是____。

A.1086B.1032C.1068D.答案A,B,C都不对5.广义表(a,((b,( )),c),(d,(e)))的深度是____。

A.5B.4C.3D.26.有n(n>0)个结点的完全二叉树的深度是____。

A.⎡log2(n)⎤B.⎡log2(n)+1⎤C.⎣log2(n+1)⎦D.⎣log2(n)+1⎦7.与中缀表达式a+b*c-d等价的前缀表达式是____。

A.+a-*bcdB.*+-abcdC.-+a*bcdD.abcd+*-8.折半查找有序表(6,15,30,37,65,68,70,72,89,99),若查找元素37,需依次与表中元素____进行比较,。

A.65,15,37B.68,30,37C.65,15,30D.65,15,30,379.对长度为10的表作选择(简单选择)排序,共需比较____次关键字。

A.45B.90C.55D.11010.对n个元素的表作快速排序,在最坏情况下,算法的时间复杂度为____。

A.O(log2 n)B.O(nlog2 n)C.O(n2)D.O(2n )11.对长度为10的表作2_路归并排序,共需移动____次(个)记录。

十套数据结构试题(卷)与答案解析

十套数据结构试题(卷)与答案解析

数据结构试卷(一) (1)数据结构试卷(二) (5)数据结构试卷(三) (9)数据结构试卷(四) (14)数据结构试卷(五) (19)数据结构试卷(六) (24)数据结构试卷(七) (28)数据结构试卷(八) (32)数据结构试卷(九) (36)数据结构试卷(十) .................................. 41 数据结构试卷(一)参考答案 (47)数据结构试卷(二)参考答案 (48)数据结构试卷(三)参考答案 (51)数据结构试卷(四)参考答案 (55)数据结构试卷(五)参考答案 (58)数据结构试卷(六)参考答案 (61)数据结构试卷(七)参考答案 (64)数据结构试卷(八)参考答案 (66)数据结构试卷(九)参考答案 (69)数据结构试卷(十)参考答案 (71)数据结构试卷(一)一、单选题(每题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个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

《数据结构》(本)模拟试题一

《数据结构》(本)模拟试题一

《数据结构》(本)模拟试题一一、填空题(每小题2分,共24分)1.一棵二叉树没有单分支结点,有6个叶结点,则该树总共有________个结点。

2.栈和队列的操作特点分别是___ ____和_____ ___。

3.设一棵完全二叉树,其最高层上最右边的叶结点的编号为奇数,该叶节点的双亲结点的编号为10,该完全二叉树一共有________个结点。

4.结构中的数据元素存在多对多的关系称为_____ ___结构。

5.按照二叉树的递归定义,对二叉树遍历的常用算法有__ _ _ 、___ _、__ __三种。

6.根据数据元素间关系的不同特性,通常可分为集合、线性、、四类基本结构。

7.数据结构中的数据元素存在一对多的关系称为________结构。

8.要求在n个数据元素中找其中值最大的元素,设基本操作为元素间的比较。

则比较的次数和算法的时间复杂度分别为________和________ 。

9.把数据存储到计算机中,并具体体现数据之间的逻辑结构称为________结构。

10.在一个单向链表中p所指结点之后插入一个s所指向的结点时,应执行___ ____ _和p->next=s;的操作。

11.结构中的数据元素存在一对一的关系称为________结构。

12.在二叉树的链式存储结构中,通常每个结点中设置三个域,它们是值域、。

二、单项选择题(每小题2分,共30分)1.针对线性表,在存储后如果最常用的操作是取第i个结点及其前驱,则采用()存储方式最节省时间。

A.单链表 B.双链表 C.单循环链表D.顺序表2.数据结构中,与所使用的计算机无关的是数据的()结构。

A.物理 B.存储 C.逻辑与物理D.逻辑3.以下特征中,()不是算法的特性。

A.有穷性 B.确定性 C.可行性 D.有0个或多个输出4.设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i 个元素),则移动元素个数为()。

A.n-i+1 B.n-i C.n-i-1 D.i5.栈的插入删除操作在()进行。

数据结构试题1

数据结构试题1

数据结构1.向一个长度为n的顺序表中的第i个元素之前插入一个元素时,需要向后移动个元素。

答:n-i+12.在一个长度为n的顺序表中删除第i个元素时,需要向前移动元素。

答: n-i3.在单链表中设置头结点的作用是。

答:简单插入、删除算法4.在单链中要删除某一指定结点,必须找到该结点的结点。

答:直接前驱5.访问单链表中的结点,必须沿着依次进行。

答:指针域6.在双链表中每个结点有两个指针域,一个指向,一个指向。

答:直接前驱结点,直接后继结点7.在链表中,删除最后一个结点的算法时间复杂度为O(1)。

答:双向循环8.访问一个线性表中具有给定值的时间复杂度的数量级是。

答:O(n)9.由n个数据元素生成一个顺序表,若每次都调用插入算法把一个元素插入到表头,则整个算法的时间复杂度为,若每次都调用插入算法把一个元素插入到表尾,则整个算法的时间复杂度为。

答:O(n) ,O(n2)10.在链表中,可以用表尾指针代替表头指针。

答:双向11.在链表中,可以用表尾指针代替表头指针。

答:双向12.根据n个数据元素建立对应的顺序表和单链表存储结构,其算法的时间复杂度最好的情况是,最坏的情况是。

答:O(n) ,O(n2)13.求线性表的顺序存储和链式存储的长度的算法时间复杂度分别是和。

答:O(1) , O(n)14.在一个带头结点的单链表中,在表头插入或删除与在其他位置插入或删除,其操作过程是否相同?。

答:相同15.在一个不带头结点的单链表中,在表头插入或删除与在其他位置插入或删除,其操作过程是否相同?。

答:不相同16.阐述顺序表和链表存储方式的特点。

答:顺序表存储方式为数据分配连续的存储单元,数据元素按逻辑顺序依次存储到相应存储单元中,使得逻辑相邻的数据元素物理也相邻,因此可以实现随即访问线性表的数据元素,即数据访问的时间复杂度为O(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中()。

数据结构模拟试题

数据结构模拟试题
七、(每小题4分,共8分)
设内存有大小为6个记录的缓冲区供内排序使用,文件的关键字序列为{29,50,70,33,38,60,28,31,43,36,25,9,80,100,57,18,65,2,78,30,14,20,17,99),试列出:
(1)用内排序求出初始归并段;
(2)用置换一选择排序求初始归并段。
六、(本题8分)
对于序列{8,18,6,16,29,28},试写出堆顶元素最小的初始堆。
七、(本题8分)
一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来。试求出空格处的内容,并画出该二叉树。
先序序列:BFICEHG
中序序列:DKFIAEJC
后序序列:KFBHJGA
八、(每小题2分,共8分)
(3)( )不是队列的基本运算。
设有一个输入数据的序列是{46, 25, 78, 62, 12, 80 },试画出从空树起,逐个输入各个数据而生成的二叉搜索树。
九、(本题9分)
试画出表达式(a+b/c)*(d-e*f)的二叉树表示,并写出此表达式的波兰式表示,中缀表示及逆波兰式表示。
十、(本题15分)
以二叉链表作存储结构,试编写计算二叉树中叶子结点数目的递归算法。
模拟试题(三)
一、单项选择题(每小题2分,共20分)
(1)对一个算法的评价,不包括如下( )方面的内容。
A)健壮性和可读性B)并行性C)正确性D)时空复杂度
(2)在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。
A)p->next=HL->next; HL->next=pB)p->next=HL; HL=p
A)14B)5C)6D)8

数据结构试题1(有答案)

数据结构试题1(有答案)

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

对一个算法的评价,不包括如下()方面的内容。

A.健壮性和可读性B.并行性C.正确性D.时空复杂度2. 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. 3.对线性表,在下列哪种情况下应当采用链表表示?()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网是一种().A.有向图B.无向图C.无向无环图D.有向无环图6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度( )。

A.低于链接法处理冲突B。

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

A.值B.函数C.指针D.引用8.8。

在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的( ).A.行号B.列号C.元素值D.非零元素个数9.9。

快速排序在最坏情况下的时间复杂度为()。

A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2)10.10。

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

A. O(n)B。

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

O(n2)二、二、运算题(每题 6 分,共24分)1. 1.数据结构是指数据及其相互之间的______________.当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(1)
(2)
(3)
(4)
参考答案:
(0) [30 18 20 15 38 12 44 53 46 18* 26 86]
(1) [18 30][15 20][12 38][44 53][18* 46][26 86]
(2) [15 18 20 30][12 38 44 53][18* 26 46 86]
A:n-I B:n-I+1
C:n-i-1 D:I
7、 不带头结点的单链表first为空的判定条件是( )。
A:first == NULL; B:first->link == NULL;
C:first->link == first; D:D. first != NULL;
8、 树中所有结点的度之和等于所有结点数加( )。
A:0 B:1
C:-1 D:2
9、 一棵具有35个结点的完全二叉树的高度为( )。假定空树的高度为 -1。
A:5 B:6
C:7 D:8
数据结构模拟试题(1)
一、填空题:06分,每题02分
1、 从一个具有n个结点的单链表中搜索其值等于x的结点时, 在搜索成功的情况下, 需平均比较_______次。
2、 根据一组记录(56,42,50,64,48)依次插入结点生成一棵AVL树时,当插入到值为_______的结点时需要进行旋转调整。
31、 已知一个数据表为{48,25,56,32,40},请写出在进行快速排序的过程中每次划分后数据表的变化。
(0) [48 25 56 32 40]
(1)
(2)
(3)
参考答案:
(0) [48 25 56 32 40]
(1) [40 25 32] 48 56
双关键码结点数:2
四、小型计算题:40分,每题08分
27、 设有一个二维数组A[10][20],按列存放于一个连续的存储空间中,A[0][0]的存储地址是200,每个数组元素占1个存储字,则A[6][2]的地址是多少。
参考答案:
226
答案说明:
按列存储时,计算A[i][j]地址的公式为 ,它的邻接表中有 ( ) 个边结点。
A:e-1 B:e
C:2(e-1) D:2e
11、 图的深度优先搜索类似于树的( )次序遍历。
A:先根 B:中根
C:后根 D:层次
参考答案:
43
答案说明:
个人总结
LOC(i,j)=LOC(0,0)+(j*m+i)*d
其中首地址LOC(0,0)=200, 每个数组元素的存储占用数d=1, 二维数组的行数m=10,则数组元素A[6][2]的存储地址为
LOC(6,2)=200+(2*10+6)*1=226
28、 设有一个10′10的对称矩阵A,将其上三角部分按行存放在一个一维数组B中,A[0][0]存放于B[0]中,那么A[8][5]存放于B中什么位置。
参考答案:
max(i,j)*(max(i,j)+1)/2+min(i,j)
25、 设有一个三维数组A[10][20][15],按页/行/列存放于一个连续的存储空间中,每个数组元素占4个存储字,首元素A[0][0][0]的存储地址是1000,求A[8][4][10]的地址。
参考答案:
10880
A:锦标赛排序 B:快速排序
C:基数排序 D:归并排序
二、判断题:10分,每题01分
14、 数组是一种静态的存储空间分配,就是说,在程序设计时必须预先定义数组的数据类型和存储空间大小,由编译程序在编译时进行分配。
15、 在顺序表中,逻辑上相邻的元素在物理位置上不一定相邻。
else {
if(JB(bt->left,x)==0) return 0;
if(bt->data<x) return 0;
x=bt->data;
答案解释:
对于三维数组,若第一、第二、第三维的元素个数为m1、m2、m3,每个元素所占存储字数为d,首地址为LOC(0,0,0),则对于任一数组元素A[i][j][k],它的存储地址为
LOC(i,j,k)=LOC(0,0,0)+(i*m2*m3+j*m3+k)*d
根据题意,m1=10, m2=20, m3=15, d=4, LOC(0,0,0)=1000,则有
搜索长度大于等于3的关键码有:
参考答案:
搜索长度大于等于3的关键码有:"June","July","Oct","Nov"
五、综合题:20分,每题10分
34、 已知二叉树中的结点类型BinTreeNode定义为:
struct BinTreeNode {ElemType data; BinTreeNode *left, *right;};
16、 每次从队列中取出的是具有最高优先权的元素, 这种队列就是优先级队列。
17、 若让元素1,2,3依次进栈,则出栈次序1,3,2是不可能出现的情况。
18、 递归的算法简单、易懂、容易编写,而且执行效率也高。
19、 用非递归方法实现递归算法时一定要使用递归工作栈。
20、 一个广义表的表头总是一个广义表。
根据题意,矩阵A中当元素下标I与J满足I≤J时,任意元素A[I][J]在一维数组B中的存放位置为
(2*n-I-1)*I/2+J
但当I>J时,需要计算其对称元素A[J][I]在B中的存放位置
(2*n-J-1)*J/2+I
因此,A[8][5]在数组B中对称元素A[J][I]的位置为
(2*10-5-1)*5/2+8=43
其中data为结点值域,left和right分别为指向左、右子女结点的指针域。参数bt指向一棵二叉树,引用参数x一开始具有的值小于树中所有结点的值。试根据下面的函数定义指出此算法的功能。
int JB(BinTreeNode* bt, ElemType& x)
{
if(bt==NULL) return 1;
(2) [32 25] 40 48 56
(3) 25 32 40 48 56
32、 已知有一个数据表为{30,18,20,15,38,12,44,53,46,18*,26,86},给出进行归并排序的过程中每一趟排序后的数据表变化。
(0) [30 18 20 15 38 12 44 53 46 18* 26 86]
21、 对用顶点表示活动的网络(AOV网)进行拓扑排序必然得到唯一的结果。
22、 堆排序是一种稳定的排序算法。
23、 在散列法中采取开散列(链地址)法来解决冲突时, 其装载因子的取值一定在(0,1)之间。
三、中型计算题:10分,每题10分
24、 设有一个n×n的对称矩阵A,将其上三角部分按列压缩存放于一个一维数组B中:
C:O(n2) D:O(1)
5、从一个长度为n的顺序表中顺序搜索一个值为x的元素时,在等概率的情况下,搜索成功时的平均比较次数为( )。
A:n B:n/2
C:(n+1)/2 D:(n-1)/2
6、在一个长度为n的顺序表中删除第i个元素(0≤i≤n-1)时,需要从前向后依次前移( )个元素。
比较次数 2 1 3 4 4
30、 已知一棵二叉搜索树的广义表表示为:28(12(,16),49(34(30),72(63))),求出从中依次删除72,12,49,28结点,最后得到的二叉搜索树的广义表表示。
广义表表示:
参考答案:
广义表表示:30(16,63(34))
29、 已知一个有序表(15,26,34,39,45,56,58,63,74,76,83,94)顺序存储于一维数组a[12]中,根据折半搜索过程填写成功搜索下表中所给元素34, 56, 58, 63, 94时的比较次数。
参考答案:
元素 34 56 58 63 94
LOC(8,4,10)=LOC(0,0,0)+(8*20*15+4*15+10)*4
=1000+2470*4=10880
26、 下图是一个3阶B树,试给出依次插入65和15之后B树的单关键码结点数和双关键码结点数。
单关键码结点数:
双关键码结点数:
参考答案:
单关键码结点数:9
12、 设有向图有n个顶点和e条边,采用邻接表作为其存储表示,在进行拓扑排序时,总的计算时间为( )。
A:O(nlog2e) B:O(n+e)
C:O(ne) D:O(n2)
13、 在下列排序算法中,( )算法使用的附加空间与输入序列的长度及初始排列无关。
B=[A00, A01, A11, A02, A12, A22, ......, A0 n-1, A1 n-1, A2 n-1, ......, An-1 n-1]
同时有两个函数:max(i,j)和min(i,j),分别计算下标i和j中的大者与小者。试利用它们给出求任意一个A[i][j]在B中存放位置的公式。(若式中没有max(i,j)和min(i, j) 则不给分)
(3) [12 15 18 20 30 38 44 53][18* 26 46 86]
(4) [12 15 18 18* 20 26 30 38 44 46 53 86]
33、 设散列表为HT[17], 待插入关键码序列为{"Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug","Sep","Oct","Nov","Dec"},散列函数为H(key)=?i/2?,其中i是关键码第一个字母在字母表中的序号(字母'A'在字母表中的序号为1,以下类推),采用线性探查法解决冲突。根据建立的闭散列表,搜索长度大于等于3的关键码有那些?
相关文档
最新文档