《数据结构》模拟试卷八
数据结构与算法 模拟试卷七、八及参考答案
模拟试卷七一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。
每小题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.在下列排序算法中,不稳定的是()。
《数据结构》模拟题测试题期末考试题带答案模拟题自测题
试卷一一、选择题(本题共30分,每题2分)1. 计算机识别、存储和加工处理的对象被统称为________。
A. 数据B. 数据元素C. 数据结构D. 数据类型2. 已知一栈的进栈序列为:1234,则下列哪个序列为不可能的出栈序列________。
A.1234 B.4321 C.2143 D.41233.链表不具有的特点是________。
A. 随机访问B. 不必事先估计所需存储空间大小C. 插入与删除时不必移动元素D. 所需空间与线性表长度成正比4. 设InitQueue(Q)、EnQueue(Q,e)、DeQueue(Q,e)分别表示队列初始化、入队和出队的操作。
经过以下队列操作后,队头的值是________InitQueue(Q); EnQueue(Q,a); EnQueue(Q,b); EnQueue(Q,c); DeQueue(Q,x)A. aB. bC.NULLD.x5.在一个单链表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);D.q->next=q->next->next; q->next=q; free(p);6. 一个顺序表第一个元素的存储地址是100,每个元素占2个存储单元,则第5个元素的地址是________。
A.110 B.108 C.100 D.1207. 在一个长度为n的顺序存储的线性表中,在其第i个位置插入一个新元素时,需要移动元素的次数是________。
A. n-iB. n-i+1C. n-i-1D. i8.下面关于线性表的叙述错误的是________。
A. 线性表采用顺序存储必须占用一片连续的存储空间B. 线性表采用链式存储不必占用一片连续的存储空间C. 线性表采用链式存储便于插入和删除操作的实现D.线性表采用顺序存储便于插入和删除操作的实现9. Push(e)表示e进栈,Pop(e)表示退栈并将栈顶元素存入e。
数据结构模拟试卷及参考答案
数据结构模拟试卷及参考答案一、简答题(共10题,每题10分,共计100分)1. 什么是数据结构?请简要解释。
数据结构是计算机中用于组织和存储数据的方式,它包含了一系列的数据元素,以及这些数据元素之间的关系和操作。
通过使用不同的数据结构,可以更高效地存储、查找和操作数据。
2. 请解释什么是栈,并给出一个栈的应用场景。
栈是一种具有特定操作限制的数据结构,它遵循"先进后出"(LIFO)的原则。
栈的应用场景包括函数调用、表达式求值、撤销操作以及浏览器中的历史记录。
3. 什么是队列?请给出一个队列的实际应用例子。
队列是一种具有特定操作限制的数据结构,它遵循"先进先出"(FIFO)的原则。
一个实际应用例子是操作系统的进程调度,进程按照到达时间加入队列,并按照一定规则出队执行。
4. 请解释什么是链表,并给出一个链表的优点和缺点。
链表是一种动态数据结构,它由一系列节点构成,每个节点包含数据和指向下一个节点的指针。
链表的优点是可以动态地分配内存空间,且插入和删除节点的时间复杂度为O(1)。
缺点是访问链表某个具体节点的时间复杂度为O(n),且需要额外的内存空间存储指针。
5. 请解释什么是树,并给出一个树的实际应用例子。
树是一种分层次的数据结构,它由一系列节点和节点之间的关系构成。
一个实际应用例子是文件系统的目录结构,文件和文件夹通过树的结构进行组织和存储。
6. 请解释什么是图,并给出一个图的实际应用例子。
图是一种由节点和节点之间的连接关系组成的数据结构。
一个实际应用例子是社交网络,人与人之间的关系可以用图来表示,每个人是一个节点,节点之间的连接表示关系。
7. 请解释什么是散列(哈希)表,以及它的优势和劣势。
散列表是一种根据关键字直接访问的数据结构,它通过将关键字映射到表中的位置来实现快速的查找操作。
散列表的优势是查找操作的平均时间复杂度为O(1)。
劣势是如果存在多个关键字映射到同一个位置,就会发生冲突,需要解决冲突问题。
数据结构模拟试题及答案
数据结构模拟试题一一、判断题(每小题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的有序表时,排序码的比较次数至少是___次,至多是___次。
数据结构模拟试卷8
数据结构模拟试卷八一、选择题1.一个栈的输入序列为1 2 3 4 5 ,则下列序列中不可能是栈的输出序列的是___________。
A.1 2 3 4 5B.5 4 3 2 1C.2 3 4 5 1D.4 1 2 3 52.一棵左子树为空的二叉树在先序线索化后,其中的空链域的个数为___________。
A.0B.1C.2D.不确定3.在用邻接表表示图的情况下,拓扑排序算法的时间复杂度为___________。
A.o(n+e)B.o(n2)C.o(n*e)D.o(n3)4.下列排序算法中,在每一趟都能选出一个元素放到其最终位置上,并且其时间性能受数据初始特性影响的是___________。
A.直接插入排序B.快速排序C.直接选择排序D.堆排序5.下列排序算法中,依次将待排序序列中的元素和前面有序序列合并为一个新的有序序列的排序算法是___________。
A.直接插入排序B.冒泡排序C.快速排序D.直接选择排序二、判断题1.设指针P指向单链表中一个结点,则语句序列U:=P^.next;U:=U^.next将删除一个结点。
2.栈和队列都是运算受限的线性表。
3.广义表的长度是指广义表中的原子个数。
4.若某二叉树的叶子结点数为1,则其先序序列和后序序列一定相反。
5.二叉树在按任一种次序线索化后,都可以很容易地求出相应次序下的前趋和后继。
6.在采用线性探测法处理冲突的散列表中,所有同义词在表中相邻。
7.对B树中任一非叶子结点中的某关键字K,比K小的最大关键字和比K大的最小关键字一定都在叶子结点中。
8.若一个无向图的以顶点1为起点的深度遍历序列唯一,则可唯一确定该图。
9.在对一有向无环图执行拓扑排序算法之后,入度数组中的所有元素的值为0。
10.在数据表基本有序时,冒泡排序算法的时间复杂度一定接近o(n)。
三、填空题1.在单链表中,在指针P所指结点的后面插入一个结点S^的语句序列是___________。
2.已知一个栈的输入序列为123…n,则其输出序列的第二个元素为n的输出序列的个数是___________。
数据结构期中试卷V8-附答案3B
苏州大学《数据结构》课程期中试卷共 10 页参考答案一、单项选择题(20%)1、数据结构是一门研究____的程序设计问题中,计算机的操作对象及其关系和操作等的学科。
[A]:数据类型[B]:抽象数据类型[C]:数值计算[D]:非数值计算[答案1]:D2、计算机科学知识体中,数据结构课程属于____领域的综合性专业基础课。
[A]:离散结构Discrete Structures (DS)[B]:程序设计语言Programming Languages (PL)[C]:算法与复杂性Algorithms and Complexity (AL)[D]:程序设计基础Programming Fundamentals (PF)[答案2]:D3、数据结构中,与计算机存储器无关的是数据的_____结构。
[A]:物理[B]:线性[C]:存储[D]:逻辑[答案3]:D4、数据结构可记为DS = {D, R},其中D是数据对象,R是D中所有成员之间_____的有限集合。
[A]:操作[B]:组织[C]:运算[D]:关系[答案4]:D5、具有相同性质的数据集合及在这个集合上的一组____,称为数据类型。
[A]:结构[B]:算法[C]:关系[D]:操作[答案5]:D6、数据的物理结构不包括_____。
[A]:顺序(sequence)[B]:链接(link)和数组[C]:索引(index)和散列(Hash)[D]:树(tree)和图(graph)[答案6]:D7、在n较大情况下,下列时间复杂度T(n)中,效率较高的为_____。
[A]:O(2n)[B]:O(10*n2)[C]:O(10*n)[D]:O(100*log2n)[答案7]:D8、顺序表的特点有_____。
[A]:插入、删除效率高[B]:存储空间能动态分配[C]:逻辑关系与物理位置不一致[D]:可方便随机存取数据元素[答案8]:D9、链表的特点有_____。
[A]:插入、删除效率低[B]:逻辑关系与物理位置一致[C]:存储空间不能静态分配[D]:随机存取数据元素效率低[答案9]:D10、链表用一组任意的存储单元来依次存放线性表的结点,这组存储单元_____。
数据结构模拟试题答案
《数据结构》模拟试题一、单项选择题(30分)1.在数据结构的讨论中把数据结构从逻辑上分为C。
A. 内部结构与外部结构B. 静态结构与动态结构C. 线性结构与非线性结构D. 紧凑结构与非紧凑结构。
2.算法分析的两个主要方面是 D。
A. 正确性和简明性B. 可读性和文档性C. 数据复杂性和程序复杂性D. 空间复杂性和时间复杂性3.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储B。
A. 数据的处理方法B. 数据元素的类型C. 数据元素之间的关系D. 数据的存储方法4.设顺序表有9个元素,则在第3个元素前插入一个元素所需移动元素的个数为c。
A.5B.6C.7D.95.线性表采用链式存储结构时,要求内存中可用存储单元的地址d。
A. 必须是连续的B. 必须是部分连续的C. 一定是不连续的D. 连续和不连续都可以6.对具有n个结点的线性表进行插入和删除操作,所需的算法时间复杂度为 d。
A. O(1)B. O(n)C. O(nlog2n)D. O(n2)7.在单链表中指针p所指结点之后插入指针为s的结点,正确的操作是b。
A. p->next=s;s->next= p->next;B. s->next= p->next; p->next=s;C. p->next=s; p->next = s->nextD. p->next=s->next; p->next=s; 8.栈中元素的进出原则是b。
A.先进先出 B.先进后出 C.栈空则进 D.栈满则出9.长度是n的顺序循环队列,front和rear分别指示队首和队尾,判断队列为满队列的条件是__d____。
A.rear=0 B.front=0C.rear==front D.(rear+1)%n==front10.下面说法不正确的是_____c_____。
A.广义表的表头总是一个广义表 B.广义表的表尾总是一个广义表C.广义表难以用顺序存储结构 D.广义表可以是一个多层次的结构11.已知二叉树的先序遍历序列为ABCD,中序遍历序列为BCDA,则后序遍历序列为____d___。
计算机专业基础综合(数据结构)模拟试卷8(题后含答案及解析)
计算机专业基础综合(数据结构)模拟试卷8(题后含答案及解析) 题型有:1. 单项选择题 2. 综合应用题单项选择题1-40小题,每小题2分,共80分。
下列每题给出的四个选项中,只有一个选项是最符合题目要求的。
1.若某线性表中最常用的操作是在最后一个结点之后插入一个结点和删除第一个结点,则下面最节省运算时间的存储方式是( )。
A.单链表B.带有头指针的单循环链表C.双链表D.带有尾指针的单循环链表正确答案:D解析:在链表中的最后一个结点之后插入一个结点要知道终端结点的地址,所以,单链表、带有头指针的单循环链表、双链表都不合适。
考虑在带有尾指针的单循环链表中删除第一个结点,其时间性能是O(1),所以答案是D。
知识模块:数据结构2.已知两个长度分别为l和s的降序链表,若将它们合并为一个长度为l+s 的升序链表,则最坏情况下的时间复杂度是( )。
A.D(l)B.D(ls)C.D(min(l,s))D.D(max(l,s))正确答案:D解析:在合并过程中,最坏的情况是两个链表中的元素依次进行比较,比较的次数最少是m和n中的最大值。
知识模块:数据结构3.线性表中存放的主要是( )。
A.整型常量B.字符C.数据元素D.信息元素正确答案:C解析:线性表中主要存放的是数据元素,而数据元素可以是整型也可以是字符型,但对于一个线性表来说,所有的数据元素的类型必须相同。
知识模块:数据结构4.下面的叙述中正确的是( )。
I.线性表在链式存储时,查找第i个元素的时间同i的值成正比Ⅱ.线性表在链式存储时,查找第i个元素的时间同i的值无关Ⅲ.线性表在顺序存储时,查找第i个元素的时间同i的值成正比A.仅ⅠB.仅ⅡC.仅ⅢD.Ⅰ、Ⅱ、Ⅲ正确答案:A解析:在线性表链式存储结构中,查找第i个元素的时间与i的位置成正比。
而在顺序存储结构中查找第i个元素的时间与i的位置无关。
知识模块:数据结构5.对于某线性表来说,主要的操作是存取任一指定序号的元素和在最后进行插入运算,那么应该选择( )存储方式最节省时间。
数据结构模拟卷(含答案)经典习题培训讲学
数据结构模拟卷(含答案)经典习题练习题一、单项选择题1. 若将数据结构形式定义为二元组(K,R),其中K是数据元素的有限集合,则R是K上( )A. 操作的有限集合B. 映象的有限集合C. 类型的有限集合D. 关系的有限集合2. 在长度为n的顺序表中删除第i个元素(1≤i≤n)时,元素移动的次数为( )A. n-i+1B. iC. i+1D. n-i3. 若不带头结点的单链表的指针为head,则该链表为空的判定条件是( )A. head==NULLB. head->next==NULLC. head!=NULLD. head->next==head4. 引起循环队列队头位置发生变化的操作是( )A. 出队B. 入队C. 取队头元素D. 取队尾元素5. 若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则不.可能出现的出栈序列是( )A. 2,4,3,1,5,6B. 3,2,4,1,6,5C. 4,3,2,1,5,6D. 2,3,5,1,6,46. 字符串通常采用的两种存储方式是( )A. 散列存储和索引存储B. 索引存储和链式存储C. 顺序存储和链式存储D. 散列存储和顺序存储7. 数据结构是()A.一种数据类型B.数据的存储结构C.一组性质相同的数据元素的集合D.相互之间存在一种或多种特定关系的数据元素的集合8. 算法分析的目的是()A.辨别数据结构的合理性B.评价算法的效率C.研究算法中输入与输出的关系D.鉴别算法的可读性9. 在线性表的下列运算中,不.改变数据元素之间结构关系的运算是()A.插入B.删除C.排序D.定位10. 下列图示的顺序存储结构表示的二叉树是( )11. 设串sl=″Data Structures with Java″,s2=″it″,则子串定位函数index(s1,s2)的值为()A.15 B.16C.17 D.1812. 二维数组A[8][9]按行优先顺序存储,若数组元素A[2][3]的存储地址为1087,A[4][7]的存储地址为1153,则数组元素A[6][7]的存储地址为()A.1213 B.1209C.1211 D.120713. 在按中序遍历二叉树的算法中,需要借助的辅助数据结构是()A.队列B.栈C.线性表D.有序表14. 在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系()A.不一定相同B.都相同C.都不相同D.互为逆序15. 若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的()A.层次遍历算法B.前序遍历算法C.中序遍历算法D.后序遍历算法16. 若用邻接矩阵表示一个有向图,则其中每一列包含的″1″的个数为()A.图中每个顶点的入度B.图中每个顶点的出度C.图中弧的条数D.图中连通分量的数目17. 图的邻接矩阵表示法适用于表示()A.无向图B.有向图C.稠密图D.稀疏图18. 若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在二分查找关键字b的过程中,先后进行比较的关键字依次为()A.f,c,b B.f,d,bC.g,c,b D.g,d,b19. 下面程序段的时间复杂度为( )s=0;for(i=1;i<n;i++)for(j=1;j<i;j++)s+=i*j;A.O(1)B.O(logn)C.O(n)D.O(n2)20. 已知指针p和q分别指向某单链表中第一个结点和最后一个结点。
《数据结构》期末模拟试卷及参考答案【十套】
《数据结构》模拟试卷及参考答案模拟试卷一一、单选题(每题2 分,共20分)1.以下数据结构中哪一个是线性结构?( )A. 有向图B. 队列C. 线索二叉树D. B树2.在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下( )语句序列。
A. p=q; p->next=q;B. p->next=q; q->next=p;C. p->next=q->next; p=q;D. q->next=p->next; p->next=q;3.以下哪一个不是队列的基本运算?()A. 在队列第i个元素之后插入一个元素B. 从队头删除一个元素C. 判断一个队列是否为空D.读取队头元素的值4.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( )个不同的字符串?A.14B.5C.6D.85.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。
以下6-8题基于图1。
6.该二叉树结点的前序遍历的序列为( )。
A.E、G、F、A、C、D、BB.E、A、G、C、F、B、DC.E、A、C、B、D、G、FD.E、G、A、C、D、F、B7.该二叉树结点的中序遍历的序列为( )。
A. A、B、C、D、E、G、FB. E、A、G、C、F、B、DC. E、A、C、B、D、G、FE.B、D、C、A、F、G、E8.该二叉树的按层遍历的序列为( )。
A.E、G、F、A、C、D、B B. E、A、C、B、D、G、FC. E、A、G、C、F、B、DD. E、G、A、C、D、F、B9.下面关于图的存储的叙述中正确的是( )。
A.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B.用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关C. 用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关D.用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关10.设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?( )A. a,g,h,m,n,p,q,x,zB. a,g,m,h,q,n,p,x,zC. g,m,q,a,n,p,x,h,zD. h,g,m,p,a,n,q,x,z二、填空题(每空1分,共26分)1.数据的物理结构被分为_________、________、__________和___________四种。
2023年数据结构模拟考试及答案
数据结构模拟考试(总分100分,考试时长90分钟)一、单项选择题(每小题2 分,共 100分)1、一棵具有 n 个结点的完全二叉树的树高度(深度)是( A )A、「log2n」+1B、log2n+1C、「log2n」D、log2n-12、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为A、O(n)B、O(0)C、O(1)D、O(n^2)3、一个顺序栈S,空栈时top的初始值为0,其栈顶指针为top,则将元素e入栈的操作是( )。
A、*S->top=e;S->top++;B、S->top++;*S->top=e;C、*S->top=eD、S->top=e;4、下列几种排序方法中要求辅助空间最大的是( )A、堆排序B、直接选择排序C、归并排序D、快速排序5、给定排序码值序列为{F,B,J,C,E,A,I,D,C,H},对其按字母的字典序列的次序进行排列,冒泡排序(大数下沉)的第一趟排序结果应为A、{B,F,C,J,A,E,D,I,C,H}B、{C,B,D,A,E,F,I,C,J,H}C、{B,F,C,E,A,I,D,C,H,J}D、{A,B,D,C,E,F,I,J,C,H}6、对含有 10 个数据元素的有序查找表执行折半查找,当查找失败时,至少需要比较( )次。
A、2B、3C、4D、57、数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为()。
A、r-fB、(n+f-r)%nC、n+r-fD、(n+r-f)%n8、若长度为 n 的线性表采用顺序存储结构,访问其第 i 个元素的算法时间复杂度为()A、0 ( 1 )B、0 ( n )C、0 ( n2 )D、0 ( log2n )9、(6分)若希望1000个无序元素中尽快求得前10个最大元素,应借用(A)。
数据结构模考试题及答案
数据结构模考试题及答案一、单选题(共100题,每题1分,共100分)1、下面关于生成树的描述中,不正确的是( )A、生成树是树的一种表现形式B、生成树一定是连通的C、生成树一定不含有环D、若生成树顶点个数为n,则其边数一定为n-1正确答案:A2、用邻接表表示图进行广度优先遍历时,通常是采用()来实现算法的。
A、图B、栈C、队列D、树正确答案:C3、下列四种基本的逻辑结构中,结构结点间不存在任何逻辑联系的是()A、集合B、树形结构C、图形结构D、线性结构正确答案:A4、以下数据结构中,哪一个是线性结构()。
A、线索二叉树B、二叉树C、有向图D、串正确答案:D5、n个顶点的连通图至少中含有( )边。
A、n-1B、n+1C、nD、0正确答案:A6、G是一个非连通无向图,共有28条边,则该图至少有( )个顶点。
A、7B、8C、6D、9正确答案:D7、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为()。
A、rear=front->nextB、front=rear->nextC、front=front->nextD、rear=rear->next正确答案:C8、一个栈的输入序列是 1 2 3 4 5,则下列序列中是栈的输出序列的是()。
A、1,4,2,5,3B、3,1,2,4,5C、2,3,4,1,5D、5,4,1,3,2正确答案:C9、假设以数组A[m]存放循环队列的元素。
已知队列的长度为length,指针rear指向队尾元素的下一个存储位置,则队头元素所在的存储位置为( )A、(rear-length+m+1)%mB、(rear-length+m)%mC、(rear-length+m-1)%mD、(rear-length)%m正确答案:B10、与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。
A、存储结构B、操作C、逻辑结构D、算法正确答案:C11、深度为k的完全二叉树中最少有()个结点。
2021 天勤计算机考研八套模拟卷 卷八 数据结构篇选择题答案解析
2021天勤计算机考研八套模拟卷•卷八数据结构篇选择题答案解析1.A长度为n顺序表,可插入位置为0~n,在0位置插入要移动n个元素,在1位置插入要移动n-1个元素,...,在n位置插入要移动0个元素,因此总的移动元素个数为N=(n+0)(n+1)/2,平均移动个数为N/n+1=n/22.D表长为0时,有head->next==head为真,则head不论取几次next都等于head,因此A对;当表长为2时,有head->next->next->next==head为真,因此C对;综上本题选D。
3.A链栈动态分配空间,系统有剩余空间即不会满,这是链栈相对于顺序栈的优势,A对;顺序栈和链栈插入删除都只在一端进行(顺序栈一般在顺序表尾部进行),因此插入删除都是O(1)的时间复杂度,所以没有明显的优劣之分,因此C和D错。
栈何时空根存储结构无关,B错。
4.B查找hash表只需要按照hash函数算出关键字地址,无需额外辅助存储空间;广度优先搜索图需要队列作为辅助存储空间;树的前序遍历和图的深度搜索都需要栈作为辅助空间。
因此本地选B5.D按照题目规则存放的二叉树,只有完全二叉树才可以由当前结点推知其孩子结点的位置,普通二叉树不可以,因此本题选D6.D后续线索二叉树后仍然不能有效的求后继。
如下图所示,为一颗后序线索二叉树,后续遍历结果为B、D、C、A,结点C的线索和右指针都指向了其前驱结点D,就没有空闲的指针指向其后继结点A了,也没有一个方便的算法能通过C找出其前驱结点A,因此本题选D。
7.C若关键字有序,则构造出的二叉排序树为单分支树,此时深度最大,深度值等于结点数,C对;二叉排序树结点的插入和删除操作只会发生在叶子结点处,因此不会引起树的重新分裂和组合,A错;对二叉排序树进行中序遍历才能得到有序序列,B错;若二叉排序树为单分支树,则关键字的比较次数会超过结点数的1/2。
8.C按照二叉排序树的规则构造的结果很容易得到A、B、D序列的构造结果相同。
(完整版)数据结构试题及答案
数据结构试卷(一)王彬一、单选题(每题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进制表示。
cA.688 B.678 C.692 D.6965.树最适合用来表示( )。
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]的比较序列的下标依次为( )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的元素有( c d)个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。
A.5B.6C.7D.8二、填空题(每空1分,共26分)1.通常从四个方面评价算法的质量:____ ____、________、________和_______。
2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。
数据结构模拟题及答案
18. 有数据WG={7,19,2,6,32,3,21,10},则所建Huffman树的树高是 _ __ ,带权路径长度WPL为 _ __ 。
19. 求图的最小生成树有两种算法, ______ 算法适合于求稀疏图的最小生成树。
20. 可以唯一的标识一个记录的关键字称为__________。
11、 _______ 是限定仅在表尾进行插入或删除操作的线性表。
12、 循环队列的引入,目的是为了克服 _______ 。
13、 两个字符串相等的充分必要条件是 _______。
14、 已知数组 A[0..9,0..9]的每个元素占5个存储单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[6,8]的地址为_______。
10、 线性表的特点是每个元素都有一个前驱和一个后继。( )
三、 单选题 (每题 1.5 分,共 30 分) :
1 . 对于 循环队列,下列说法错误的是( )
A. 可用顺序存储结构 B. 会产生下溢
C. 不会产生上溢 D.不会产生假溢
2. 若完全无向图有n 个顶点,则边的数目为( ):
A.9 B.11 C.15 D.不确定
18. 已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为 ( )。
A.CBEFDA B. FEDCBA C. CBEDFA D.不定
19. 具有12个关键字的有序表,折半查找的平均查找长度( )
14、 直接插入排序用监视哨的作用是 ___________________。
15、 一个字符串中 ________________ 称为该串的子串 。
16 . 广义表(a,(a,b),d,e,((i,j),k))的长度是 _ ,深度是 _ 。
精品数据结构模拟题
for ( int i=0; i<10; i++)
cout<<B[i]<<” “;
cout<<endl;
}
调用该算法后,输出结果为:
五、算法填空,在画有横线的地方填写合适的内容(10分)。
利用单链表进行数据排序。
void LinkSort (ElemType a[ ],int n)
2、从一维数组a[n]中顺序查找出一个最大值元素的时间复杂度为________,输出一个二维数组b[m][n]中所有元素值的时间复杂度为________。
3、在归并排序中,进行每趟归并的时间复杂度为________,整个排序过程的时间复杂度为________,空间复杂度为________。
4、在一棵m阶B_树上,每个非树根结点的关键字数目最少为________个,最多为________个,其子树数目最少为________,最多为________。
5、当从一个小根堆中删除一个元素时,需要把________元素填补到________位置,然后再按条件把它逐层________调整。
6、快速排序在平均情况下的时间复杂度为________,在最坏情况下的时间复杂度为________。
7、从一棵二叉搜索树中查找一个元素时,若元素的值等于根结点的值,则表明_______,若元素的值小于根结点的值,则继续向________查找,若元素的大于根结点的值,则继续向________查找。
2、对以下图,试给出一种拓扑序列,若在它的邻接表存储结构中,每个顶点邻接表中的边结点都是按照终点序号从大到小链接的,则按此给出唯一一种拓扑序列。
四、阅读算法,回答问题(每小题5分,共20分)
数据结构模拟试题(含答案)
数据结构模拟试题(含答案)一、单选题(共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个备选答案中,选出正确的答案,并将其号码填在题后的括号内。
每小题2分,共24分)1.一个具有n个顶点的无向完全图的边数为()①n(n+1)/2 ②n(n-1)/2 ③n(n-1) ④n(n+1)2.在索引顺序表中查找一个元素,可用的且最快的方法是()①用顺序查找法确定元素所在块,再用顺序查找法在相应块中查找②用顺序查找法确定元素所在块,再用二分查找法在相应块中查找③用二分查找法确定元素所在块,再用顺序查找法在相应块中查找④用二分查找法确定元素所在块,再用二分查找法在相应块中查找3.若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素,则采用()存储方式最节省运算时间。
①单链表②双链表③带头结点的双循环链表④容量足够大的顺序表4.串是()①一些符号构成的序列②有限个字母构成的序列③一个以上的字符构成的序列④有限个字符构成的序列5.堆排序在最坏情况下,其时间复杂性为()①O(nlog2n) ②O(n2)③O(log2n2) ④O(log2n)6.快速排序的记录移动次数()比较次数,其总执行时间为O(nlog2n)。
①大于②大于等于③小于等于④小于7.一棵二叉树有n个结点,要按某顺序对该二叉树中的结点编号,(号码为1-n),编号须具有如下性质:二叉树中任一结点V,其编号等于其左子树中结点的最大编号加1。
而其右子树中结点的最小编号等于V的编号加1。
试问应按()遍历顺序编号。
①前根②中根③后根④层次8.3个结点可构成()个不同形态的二叉树。
① 2 ②3 ③4 ④59.对有n个记录的有序表采用二分查找,其平均查找长度的量级为()①O(log2n) ②O(nlog2n) ③O(n) ④O(n2)10.对有n个记录的表按记录键值有序的顺序建立二叉树,在这种情况下,其平均查找长度的量级为()①O(n) ②O(nlog2n) ③O(1) ④(log2n)11.栈操作的原则是()①先进先出②后进先出③栈顶插入④栈顶删除12.设矩阵A是一对称矩阵(a ij=a ji,1<=i,j<=8),若每个矩阵元素占3个单元,将其上三角部分(包括对角线)按行序为主序存放在数组B中,B的首地址为1000,则矩阵元素a67的地址为()①1031 ②1093 ③1096 ④1032二、判断题(判断下列各题是否正确,正确在括号内打“√”,错的打“×”。
数据结构模拟试题
设内存有大小为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、循环单链表可作线性表的存储结构.2、队列操作的原则是先进先出。
3、设计一个判定表达式中左,右括号是否配对出现的算法,采用栈数据结构醉佳.4、顺序栈存储空间的实现使用数组存储栈元素.5、数据项是数据的不可分割的醉小单位.6、线性表是醉常用且醉简单的一种数据结构,是n个数据元素的有限序列.7、广义表是由零或多个原子或子表所组成的有限序列。
8、树型结构是一类重要的非线性数据结构,树是以分支关系定义的层次结构.9、算法的时间复杂度是指算法中语句重复执行的次数的总和。
10、如果线性表醉常用的操作是存取第i个元素及其前驱的值,则采用顺序表方式存储节省时间.二、单项选择题1.线性表在(B)时,宜用顺序表作存储结构.A.经常作插入,删除B.经常随机存取C.无足够连续存储空间D.经常作动态查找2.一棵左右子树均不空的二叉树在先序线索化后,其空指针域数为( B )A.0B.1C.2D.不确定3.串的长度是( C ).A.串中不同字母的个数B.串中不同字符的个数C.串中所含字符的个数D.串中所含字符的个数,且大于04.链表不具有的特点是( A ).A.可随机访问任一元素B.插入删除不需要移动元素C.不必事先考虑存储空间D.所需空间与线性表长度成正比5.对长度为10的表作选择(简单选择)排序,共需比较( A )次关键字.A.45B.90C.10D.1106.关于线性表,下列说法正确的是( D ).A.每个元素都有一个直接前驱和直接后继B.线性表中至少要有2个元素C.表中元素必须排序D.除第yi个和醉后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继7.设栈的输入序列是(1,2,3,4),则( C )不可能是其出栈序列.A.1234B.2134C.4312D.32148.两个串相等的判定条件是( D ).A.串为空B.串中各位置对应字符相等C.串长度相等D.串长度相等并且串中各位置对应字符相等9.若7行6列的数组a以列序为主序顺序存储,基地址为1024,每个元素占2个存储单元,则第3行第5列的元素(假定无第0行第0列)的存储地址是( C )A.1100B.1086C.1084D.以上都不对10.若进队列的序列为1,2,3,4,则( A )是一个出队列序列.A.1234B.4321C.4312D.321411.若用一个大小为6的数组来实现循环队列,且当rear和front的值分别为0和3.当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为( B ).A.1和5B.2和4C.4和2D.5和112.树醉适合用来表示( C ).A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据13.设语句s=s+i的时间是时间单位,则语句:s=0;for(i=1;i<=n;i++)s=s+i;的时间复杂度为( B ).A.O(1)B.O(n)C.O(n2)D.O(log2n)14.数据表A中有10000个元素,如果仅要求求出其中醉大的10个元素,则采用( C )排序算法醉节省时间.A.堆排序B.希尔排序C.快速排序D.直接选择排序15.数组A中,每个元素的长度为3个字节,行下标i从1到5,列下标j从1到4,从首地址SA开始连续存放在存储器内,该数组占用的字节数为( B ).A.20B.60C.80D.12016.二叉树在线索化后,仍不能有效求解的问题是( D )A.先序线索二叉树中求先序后继B.中序线索二叉树中求中序后继C.中序线索二叉树中求中序前趋D.后序线索二叉树中求后序后继17.为了方便对图状结构的数据进行存取操作,则其中数据存储结构宜采用( B ).A.顺序存储B.链式存储C.索引存储D.散列存储18.下列有关二叉树的说法正确的是( B ).A.二叉树的度为2B.一棵二叉树度可以小于2C.二叉树中至少有一个结点的度为2D.都不对19.循环队列中元素数目是( C )?其中tail=32,指向队尾元素,head=15指向对头元素的前一个空位置,队列空间m=60.A.42B.16C.17D.4120.一颗非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足( A ).A.只有一个叶子结点B.所有的结点均无左孩子C.左右的结点均无右孩子D.是任意一颗二叉树21.线性表的静态链表存储结构与顺序存储结构相比优点是( B )A.便于随机存取B.便于插入和删除C.便于利用零散的存储器空间D.所有的操作算法实现简单22.若用单链表来表示队列,则应该选用( D ).A.带头指针的非循环链表B.带尾指针的非循环链表C.带头指针的循环链表D.带尾指针的循环链表23.串是任意有限个( D ).A.符号构成的xxxB.符号构成的序列C.字符构成的xxxD.字符构成的序列24.下列排序算法中,某一趟结束后未必能选出一个元素放在其醉终位置上的是( D )A.堆排序B.冒泡排序C.快速排序D.直接插入排序25.已知一颗二叉树的后序遍历序列为DABEC,中序遍历序列为DEBAC,则它的先序遍历序列为( D ).A.ACBEDB.DECABC.DEABCD.CEDBA26.广义表A=(a,b,(c,d),(e,(f,g))),则下面式子的值为( D ).Head(Tail(Head(Tail(Tail(A))))).A.(g)B.(d)C.cD.d27.将一个A[1..10,1..10]的三对角矩阵,按行优先存入一维数组B[1,30]中,A中元素a6,5在B数组中的位置i为( A ).A.15B.16C.55D.5628.两个指针p和q,分别指向单链表的两个元素,p所指元素是q所指元素的前驱,则( D ).A.p==qB.q->next=pC.p->next=q->nextD.p->next=q29.若串s="hello",其子串个数是( B ).A.5B.15C.16D.2530.若某链表醉常用的操作是在醉后一个结点之后插入一个结点和删除醉后一个结点,则采用( C )存储方式醉节省时间.A.单链表B.双链表C.带头结点的双循环链表D.单循环链表31.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的时间复杂度为( B ).A.O(1)B.O(n)C.O(n2)D.O(log2n)32.设循环队列中数组的下标范围是1~n,其头尾指针分别为f和r,则其元素个数为( D )A.r-fB.r-f+1C.(r-f)modn+1D.(r-f+n)modn33.对有18个元素的有序表作二分(折半)查找,则查找A[3]的比较序列的下标为( D ).A.1,2,3B.9,5,2,3C.9,5,3D.9,4,2,334.数据结构包含四种基本结构,它们是( C ).A.xxx,链表,树,队列B.队列,链表,数组,图C.xxx,线性,树,图D.线性,链表,队列,xxx35.数组A中,每个元素的长度为4个字节,行下标i从1到5,列下标j从1到4,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[3][2]的起始地址为( C ).A.SA+5B.SA+10C.SA+36D.SA+4036.算法必须具备的5个特征是:输入,输出,( B ).A.可执行性,可移植性和可扩充性B.可执行性,有穷性和确定性C.有穷性,稳定性和确定性D.稳定性,易读性和确定性37.稀疏矩阵一般的压缩存储方法有( D )两种.A.二维数组和三维数组B.二维数组和三元组C.三维数组和十字链表D.三元组和十字链表38.线性表采用链式存储时,其地址( C ).A.必须是连续的B.一定是不连续的C.连续与否均可以D.部分地址必须是连续的39.一个n*n的对称矩阵,如果以行或列为主序放入内存,则其容量为( C ).A.n*nB.n*n/2C.n*(n+1)/2D.(n+1)*(n+1)/240.已知一个顺序存储的线性表,设每个结点需占m个存储单元,若第yi个结点的地址为d1,则第i个结点的地址为( A ).A.d1+(i-1)*mB.d1+i*mC.d1-i*mD.d1+(i+1)m三、判断题1.在二叉排序树上删除一个结点时,不必移动其他结点,只要将该结点的父结点的相应指针域置空即可.(错)2.从具有n个结点的二叉排序树中查找一个元素时,醉坏情况下的时间复杂度为O(n).(对)3.广义表中原子个数即为广义表的长度(错)4.空栈就是所有元素都为0的栈.(错)5.栈和队列都是限制存取点的线性结构(对)6.数据元素是数据的醉小单位.(错)7.顺序存储结构属于静态结构,链式结构属于动态结构.(对)8.线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的.(错)9.有回路的图不能进行拓扑排序.(对)10.在所有结点的权都相等的情况下,具有平衡特性的二叉排序树一定是醉佳二叉排序树.(对)11.数据项是数据的基本单位.(错)12.广义表是线性表的推广,是一类线性数据结构.(错)13.哈希表的查找效率主要取决于哈希表造表时选取的哈希函数和处理冲突的方法.(对)14.邻接表只能用于存储有向图,而邻接矩阵则可存储有向图和无向图.(错)15.数据的物理结构是指数据在计算机内实际的存储形式.(对)16.顺序查找法适用于存储结构为顺序或链接存储的线性表.(对)17.完全二叉树中,若一个结点没有左孩子,则它必是树叶.(对)18.一个图的广度优先搜索树是唯一的.(错)19.在单链表中,要访问某个结点,只要知道该结点的指针即可;因此,单链表是一种随机存取结构.(错)20.在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数与该元素的位置有关.(对)四、名词解释1.串[答案]:串是有零个或多个字符组成的优先序列.2.关键字[答案]:关键字是数据元素中某个数据项的值,用它可以标识一个数据元素或记录.3.数据项,记录和文件.[答案]:一个元素可以有若干个数据项组成,通常把数据元素称为记录,含有大量记录的线性表称为文件.4.内部排序方法[答案]:直接插入,折半插入,2-路插入,表插入,希尔排序,起泡排序,快速排序,选择排序,树形排序,堆排序,归并,基数.任选5个.5.队列[答案]:队列也是线性表,它是操作受限制的线性表,队列是先进先出表.6.图[答案]:图形结构中,结点之间的关系可以是任意的,图中任意两个数据元素之间都可能相关.7.数组[答案]:数组在内存中占据连续的存储单元,其数组元素具有相同的名字和类型.8.栈[答案]:栈也是线性表,它是操作受限制的线性表,栈是后进先出表.9.二叉树[答案]:二叉树的每个结点至多只有两棵子树,并且,二叉树的子树有左右之分,其次序不能任意颠倒.10.数据结构[答案]:数据结构是相互之间存在一种或多种特定关系的数据元素的xxx.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟试卷八
一、选择题(每小题2分,共10分)
1.一个栈的输入序列为12345,则下列序列中不可能是栈的输出序列的是。
(l)12345 (2)54321
(3)23451 (4)41235
2.一棵左子树为空的二叉树在先序线索化后,其中的空链域的个数为。
(1)0 (2)1
(3)2 (4)不确定
3.在用邻接表表示图的情况下,拓扑排序算法的时间复杂度为。
(l) O(n+e)(2) O(n2)
(3) O(n×e)(4) O(n3)
4.下列排序算法中,在每一趟都能选出一个元素放到其最终位置上,并且其时间性能受数据初始特性影响的是。
(1)直接插入排序(2)快速排序
(3)直接选择排序(4)堆排序
5.下列排序算法中,依次将待排序序列中的元素和前面有序序列合并为一个新的有序序列的排序算法是。
(1)直接插入排序(2)冒泡排序
(3)快速排序(4)直接选择排序
二、判断题(每小题1分,共10分)
l.()设指针 P指向单链表中一个结点,则语句序列U:=P^.next; U :=U^.next 将删除一个结点。
2.()栈和队列都是运算受限的线性表。
3.()广义表的长度是指广义表中的原子个数。
4.()若某二叉树的叶子结点数为1,则其先序序列和后序序列一定相反。
5.()二叉树在按任一种次序线索化后,都可以很容易地求出相应次序下的前
趋和后继。
6.()在采用线性探测法处理冲突的散列表中,所有同义词在表中相邻。
7.()对B树中任一非叶子结点中的某关键字K,比K小的最大关键字和比K
大的最小关键字一定都在叶子结点中。
8.()若一个无向图的以顶点1为起点的深度遍历序列唯一,则可唯一确定该图。
9.()在对一有向无环图执行拓扑排序算法之后,入度数组中的所有元素的值为0。
10.()在数据表基本有序时,冒泡排序算法的时间复杂度一定接近O(n)。
三、填空题(每小题2分,共20分)
1.在单链表中,在指针P所指结点的后面插入一个结点到的语句序列是。
2.已知一个栈的输入序列为123...n,则其输出序列的第二个元素为n的输出序列的个数是。
3.取出广义表A=((a,x,y,z),(b,c))中的原子c的复合函数是。
4.若以{4,5,6,7,8}作为叶子结点的权值构造哈夫曼树,则其带权路径长度是。
5. 在顺序存储的二叉树中,编号为i和j的两个结点处在同一层的条件是。
6.已知二叉树有5O个叶子结点,则该二叉树的总结点数至少是。
7. 在按关键字递增的数组A[1..20]中,按二分查找方法进行查找时,查找长度为5
的元素个数是。
8. 已知数组A[1..10,0..9]中每个元素占 4个单元,在按行优先方式将其存储到
起始地址为1000的连续的存储区域时,A[5,9]的地址是。
9.有n个球队参加的足球联赛按主客场制进行比赛,共需进行场比赛。
10. 下列排序算法中,占用辅助空间最多的是(堆排序,希尔排序,快速
排序,归并排序)。
四、解答下列各题(20分)
1.一棵二叉树的先序、中序和后序序列如下,其中一部分本标出,请构造出该二叉树。
先序序列: CDE GHI K
中序序列:CB FA JKIG
后序序列: EFDB JIH A
2.将下面数据表建成一个堆。
(70,12,20,31,1,5,44,66,61,2O0,30,80,15O,4,28)
3.求出下图中顶点1到其余各项点的最短路径。
4.已知下面二叉排序树的各结点的值依次为1~9,请标出各结点的值。
五、算法设计(共40分,每题8分)
1.已知递增有序的单链表A,B分别存储了一个集合。
设计算法以求出两个集合A, B的差集A-B(即仅由在A中出现而不在B中出现的元素所构成的集合),并以
同样的形式存储,同时返回该集合的元素个数。
2.设计算法以返回二叉树T的后序序列的第一个结点的指针。
要求采用非递归形式,且不用栈。
3.已知二叉树T以二叉链表形式作为其存储结构。
设计算法按先序次序输出各结点的值及相应的层次数,并以二元组的形式给出。
如下面的二叉树及对应的输出如
下页图所示。
(A,1)(B,2)(C,3)(D,4)(E,5)(F,3)(G,2)(H,3)(I,4)
4.已知数组A[1..n]的元素类型为integer。
设计算法将其调整为左右两部分,使得左边所有元素为奇数,右边所有元素为偶数,并要求算法的时间复杂度为O(n)。
5.设计算法以判断无向图G是否是一棵树,若是树,返回true,否则返回false。