《数据结构》模拟试卷四
数据结构_模拟测验题1-4(带答案)

数据结构_模拟测验题1-4(带答案)单元测验1一.判断题(ㄨ)(1)数据的逻辑结构和数据的存储结构是相同的。
(ㄨ)(2)程序和算法原则上没有区别,所以在讨论数据结构时可以通用。
(√)(3)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。
(√)(4)数据的存储结构是数据的逻辑结构的存储映像。
(ㄨ)(5)数据的逻辑结构是依赖于计算机的。
(√)(6)算法是对解题方法和步骤的描述。
二.填空题1.数据有逻辑结构和存储结构两种结构。
2. 数据结构按逻辑结构可分为两大类,它们是线性结构和非线性结构。
3.树形结构和图形结构合称为非线性结构。
4.数据的存储结构又叫物理结构。
5.数据的存储结构形式包括:顺序存储和链式存储 6.线性结构中的元素之间存在一对一的关系。
7.树形结构中的元素之间存在一对多的关系, 8.图形结构的元素之间存在多对多的关系。
9.数据结构主要研究数据的逻辑结构、存储结构和二者之间的相互运算三个方面的内容。
10.一个算法的时间复杂度是问题规模的函数。
11.若一个算法中的语句频度之和为T(n)=6n+3nlog2n,则算法的时间复杂度为O (nlog2n)。
12.若一个算法中的语句频度之和为T(n)=3n+nlog2n+n2,则算法的时间复杂度为O(n2)。
三.选择题1.数据结构通常是研究数据的( D )及它们之间的相互联系。
A.联系与逻辑B.存储和抽象C.联系和抽象D.存储结构和逻辑结构 2.数据在计算机内存储时,数据元素在存储器内相对位置可以表示元素之间的逻辑关系,称为(D)。
A.存储结构B.逻辑结构C.链式存储结构D.顺序存储结构 3.链接存储的存储结构所占存储空间(A)。
A.分两部分,一部分存放结点的值,另一部分存放表示结点间关系的指针 B.只有一部分,存放结点值C.只有一部分,存储表示结点间关系的指针D.分两部分,一部分存放结点值,另一部分存放结点所占单元数 4.在数据结构中,与所使用的计算机无关的是(B)A.物理结构B.逻辑结构C.存储结构D.逻辑和存储结构 5.算法能正确的实现预定功能的特性称为(A)A.正确性B.易读性C.健壮性D.高效性6.算法在发生非法操作时可以作出处理的特性称为(B)A.正确性B.健壮性C.易读性D.高效性 7.下列时间复杂度中最坏的是(A)A.O(n2)B.O(log2n)C.O(n)D.O(1) 8. 算法分析的两个主要方面是(C)。
数据结构练习题四

数据结构练习题四一、填空题1.在线性表的单链表存储结构中,每个结点包含两个域,一个叫域,另一个叫域。
2.向栈中压入元素的操作是。
1.设字符串S1="ABCDEFG",S2="PQRST",则运算S=CONCAT (SUB(S1,2,LEN(S2)),SUB(S1,LEN(S2),2))后的串值为。
3.对于一个长度为n的顺序存储的线性表,在表头插入元素的时间复杂度为,在表尾插入元素的时间复杂度为。
4.深度为k的完全二叉树至少有个结点,至多有个结点。
5.在一个稀疏矩阵中,每个非零元素所对应的三元组包括该元素的、、三项。
6.队列的插入操作在进行,栈的删除操作进行。
7.栈的特点是,队列的特点是。
8.数据的存储结构被分为、、顺序结构和四种。
9.如果结点A有3个兄弟,而且B是A的双亲,则B的度是。
10.n个顶点的连通图至少有条边。
11.折半查找的存储结构仅限于。
12.将f=1+1/2+1/3+……+1/n转化成递归函数,其递归出口是,递归体是。
13.在一棵二叉树,第4层上的结点数最多为个。
14.采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为。
二、单选题(把答案填在下表)≤n+1)的位置插入一个新元素时,需要从后向前依次后移个元素。
A、n-iB、n-i+1C、n-i-1D、i2.将上三角矩阵A[n*n]压缩存储于一维数组B[1]到B[n*(n-1)/2]中,则A[i,j](i<=j)存储在中。
A、B[i+j]B、B[(i-1)*n+j]C、B[i*n+j-1]D、没有存储3.对一个具有t个非零元素的m*n大小的稀疏矩阵采用顺序存储,求其转置矩阵的普通转置算法的时间复杂度为。
A、O(m)B、O(n)C、O(n+t)D、O(n*t)4.若让元素1,2,3依次进栈,则出栈次序不可能出现第种情况。
A、3,2,1B、2,1,3C、3,1,2D、1,3,25.设高度为h的二叉树上只有度为0和2的结点,则此类二叉树中所包含的结点数至少为。
数据结构第四教学单元测验练习题(答案) (自动保存的)

《数据结构》第4教学单元测试练习题一、选择题1. 对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( ) A.(N+1)/2 B. N/2 C. N D. [(1+N)*N ]/2 AB2.适用于折半查找的表的存储方式及元素排列要求为( )A.链接方式存储,元素无序B.链接方式存储,元素有序C.顺序方式存储,元素无序D.顺序方式存储,元素有序3.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( )A.必定快 B.不一定 C. 在大部分情况下要快 D. 取决于表递增还是递减4. 具有12个关键字的有序表,折半查找的平均查找长度()A. 3.1B. 4C. 2.5D. 55. 折半查找的时间复杂性为()A. O(n2)B. O(n)C. O(nlog n)D.O(logn)6.对有18个元素的有序表作折半查找,则查找A[3]的比较序列的下标为()A.1,2,3B.9,5,2,3 C.9,5,3 D.9,4,2,37.设有序表的关键字序列为{1,4,6,10,18,35,42,53,67,71,78,84,92,99},当用二分查找法查找健值为84的结点时,经()次比较后查找成功。
A.2 B. 3 C. 4D.128、用n个键值构造一棵二叉排序树,最低高度为()A.n/2B.、nC.lognD.logn+19.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( ) A.(100,80, 90, 60, 120,110,130)B.(100,120,110,130,80, 60, 90)C.(100,60, 80, 90, 120,110,130)D.(100,80, 60, 90, 120,130,110)10.设有一组记录的关键字为{19,14,23,1,68,20,84,27,55,11,10,79},用链地址法构造散列表,散列函数为H(key)=key% 13,散列地址为1的链中有()个记录。
(完整word版)数据结构试题试卷四含答案

模拟试题四模拟试题四一、选择题(20分)1。
由两个栈共享一个存储空间的好处是()。
A)减少存取时间,降低下溢发生的几率B)节省存储空间,降低上溢发生的几率C)减少存取时间,降低上溢发生的几率D)节省存储空间,降低下溢发生的几率2。
设有两个串p和q,求q在p中首次出现位置的运算称做()。
A)连接B)模式匹配 C)求子串D)求串长3。
n个顶点的连通图中边的条数至少为()。
A)0 B)l C)n—l D)n4.对一个具有n个元素的线性表,建立其有序单链表的时间复杂度为( )。
A)O(n)B)O(1)C)O(n2) D) O(log2n)5.在双向循环链表中,在p所指的结点之后插入s指针所指的结点,其操作是( )。
A) p—>next=s; s—〉prior=n;p->next—>prior=s;s-〉next:p->next。
B) s—〉priOFp;s->next—p->next;p—>next=s; p—〉next->priOFS.C) p-〉next=s;p-〉next—〉priOFS; s->prior=p; s-〉next=p—〉next.D) s—>prior=p; s-〉next=p—〉next; p-〉next—〉priOFS;p-〉next=S.6,串的长度是( ).A)串中不同字符的个数 B)串中不同字母的个数C)串中所含字符的个数n(n>0) D)串中所含字符的个数n(n≥0)7.若有一个钱的输入序列是l,2,…,n,输出序列的第一个元素是n,则第i个输出元素是()。
A) n—i B) n—i—l C)n—i+l D)不确定8.设有一个栈,元素的进栈次序为A,B,C,D,E,下列( )是不可能的出栈序列。
A) A,B,C,D,E B)B,C, D,E,AC)E,A, B,C,D D)E,D, C,B,A9。
在一棵度为3的树中,度为3的结点数有2个,度为2的结点数有1个,度为l的结点数有2个,那么度为0的结点数有()个。
数据结构模拟试卷及参考答案

数据结构模拟试卷及参考答案一、简答题(共10题,每题10分,共计100分)1. 什么是数据结构?请简要解释。
数据结构是计算机中用于组织和存储数据的方式,它包含了一系列的数据元素,以及这些数据元素之间的关系和操作。
通过使用不同的数据结构,可以更高效地存储、查找和操作数据。
2. 请解释什么是栈,并给出一个栈的应用场景。
栈是一种具有特定操作限制的数据结构,它遵循"先进后出"(LIFO)的原则。
栈的应用场景包括函数调用、表达式求值、撤销操作以及浏览器中的历史记录。
3. 什么是队列?请给出一个队列的实际应用例子。
队列是一种具有特定操作限制的数据结构,它遵循"先进先出"(FIFO)的原则。
一个实际应用例子是操作系统的进程调度,进程按照到达时间加入队列,并按照一定规则出队执行。
4. 请解释什么是链表,并给出一个链表的优点和缺点。
链表是一种动态数据结构,它由一系列节点构成,每个节点包含数据和指向下一个节点的指针。
链表的优点是可以动态地分配内存空间,且插入和删除节点的时间复杂度为O(1)。
缺点是访问链表某个具体节点的时间复杂度为O(n),且需要额外的内存空间存储指针。
5. 请解释什么是树,并给出一个树的实际应用例子。
树是一种分层次的数据结构,它由一系列节点和节点之间的关系构成。
一个实际应用例子是文件系统的目录结构,文件和文件夹通过树的结构进行组织和存储。
6. 请解释什么是图,并给出一个图的实际应用例子。
图是一种由节点和节点之间的连接关系组成的数据结构。
一个实际应用例子是社交网络,人与人之间的关系可以用图来表示,每个人是一个节点,节点之间的连接表示关系。
7. 请解释什么是散列(哈希)表,以及它的优势和劣势。
散列表是一种根据关键字直接访问的数据结构,它通过将关键字映射到表中的位置来实现快速的查找操作。
散列表的优势是查找操作的平均时间复杂度为O(1)。
劣势是如果存在多个关键字映射到同一个位置,就会发生冲突,需要解决冲突问题。
数据结构练习试卷4(题后含答案及解析)

数据结构练习试卷4(题后含答案及解析)题型有:1. 选择题选择题(每小题1分,共75分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。
1.在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为______。
A.63B.64C.6D.7正确答案:B解析:在长度为64的有序线性表中,其中的64个数据元素是按照从大到小或从小到大的顺序排列有序的。
在这样的线性表中进行顺序查找,最坏的情况就是查找的数据元素不在线性表中或位于线性表的最后。
按照线性表的顺序查找算法,首先用被查找的数据和线性表的第一个数据元素进行比较,若相等,则查找成功,否则,继续进行比较,即和线性表的第二个数据元素进行比较。
同样,若相等,则查找成功,否则,继续进行比较。
依次类推,直到在线性表中查找到该数据或查找到线性表的最后一个元素,算法才结束。
因此,在长度为64的有序线性表中进行顺序查找,最坏的情况下需要比较64次。
因此,本题的正确答案为B。
知识模块:数据结构2.对长度为n的线性表进行顺序查找,在最坏情况下,所需要的比较次数为______。
A.1og2nB.n/2C.n2D.n+1正确答案:C解析:在长度为n的线性表中进行顺序查找,最坏情况下需要比较n次。
选项C正确。
知识模块:数据结构3.设有100个结点,用二分法查找时,最大比较次数是______。
A.25B.50C.10D.7解析:在最坏情况下,二分法查找的比较次数均为[1og2(n+1)L]。
n为100时,最大比较次数为7。
所以,本题应该选择D。
知识模块:数据结构4.如果要求一个线性表既能较快地查找,又能适应动态变化的要求,则可采用______的方法。
A.分块B.顺序C.二分法D.基于属性正确答案:A解析:二分法是快速查找方法,但要求线性表是有序的。
如果把线性表按趋势分块,也就是说,块之间有序,块内不一定有序。
《算法与数据结构》模拟试题4 答案

《算法与数据结构》模拟试题4(参考答案)一、填空题(每小题2分,共18分)1、线性结构树形结构图(或网)状结构2、表的一端表的另一端3、数据元素是一个字符4、 2005、2h-16、 n 2e7、以顺序方式存储结点按关键字有序8、索引散列9、归并内、外存之间的数据交换二、单项选择题(请将答案写在题目后的括号中。
每题2分,共18分)三、分析题(每题6分,共30分)1、解:依题意对应的Huffman树如下图所示。
WPL=(2+3)×4+(4+6+7)×3+(8+9)×2=1052、 解:该网的邻接链表如下图所示: 从顶点V 3出发的深度优先搜索的顶点序列是3→2→1→4,相应的生成树如下:3、 解:将关键字序列(14,19,16,7,4,13,25,9,18,12)依此插入到初态为空的二叉排序树中所得到的二叉排序树T 如图(a)所示;删除13之后的二叉排序树T1如图(b)所示;最后再插入13之后的二叉排序树T2。
从顶点V 3出发深度优先搜索生成树图(b) 删除13的二叉排序树图(c) 插入13的二叉排序树4、解:根据所给定的散列函数和处理冲突方法,其地址计算过程如下:H(31)=31 MOD 11=9 H(25)=25 MOD 11=3 H(18)=18 MOD 11=7H(19)=19 MOD 11=8 H(42)=42 MOD 11=9 冲突H(42)=(9+1) MOD 11=10 H(67)=67 MOD 11=1 H(15)=15 MOD 11=4 H(33)=33 MOD 11=0H(17)=17 MOD 11=6H(36)=36 MOD 11=3 冲突H(36)=(3+1) MOD 11=4 冲突H(36)=(4+1) MOD 11=5H(46)=46 MOD 11=2得到的散列表结构如下:5、解:做非递减排序时的每一趟结果如下:初始关键字:35,29,22,16,17,9,38,27,13,45第一趟:9,29,22,13,17,35,38,27,16,45第二趟:9,17,16,13,27,22,38,29,35,45第三趟:9,13,16,17,22,27,29,35,38,45第三趟归并完毕,排序结束。
十套数据结构模拟题+答案

数据结构试卷(一)一、选择题(20分)1.组成数据的基本单位是()。
(A) 数据项(B) 数据类型(C) 数据元素(D) 数据变量2.设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是()。
(A) 线性结构(B) 树型结构(C) 图型结构(D) 集合3.数组的逻辑结构不同于下列()的逻辑结构。
(A) 线性表(B) 栈(C) 队列(D) 树4.二叉树中第i(i≥1)层上的结点数最多有()个。
(A) 2i (B) 2i(C) 2i-1(D) 2i-15.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为()。
(A) p->next=p->next->next (B) p=p->next(C) p=p->next->next (D) p->next=p6.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是()。
(A) 6 (B) 4 (C) 3 (D) 27.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为()。
(A) 100 (B) 40 (C) 55 (D) 808.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为()。
(A) 3 (B) 4 (C) 5 (D) 19.根据二叉树的定义可知二叉树共有()种不同的形态。
(A) 4 (B) 5 (C) 6 (D) 710.设有以下四种排序方法,则()的空间复杂度最大。
(A) 冒泡排序(B) 快速排序(C) 堆排序(D) 希尔排序二、填空题(30分)1.设顺序循环队列Q[0:m-1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为F =____________;。
数据结构模拟试题4参考答案.

数据结构模拟试题4参考答案一、选择题(20分)1-5 A C A B D6-10 B B C A D二、填空题(20分)1.n2.只由空格字符组成的字符串空格字符的个数3.5 34.k(k+1)/25.36.77.128.二叉树无左子树三、应用题(30分)1.参考答案如下:2.参考答案如下:1)2)9 4 3 8 10 7 6 56 8 94 5 103 76 4 3 8 5 79 103.参考答案如下:4.参考答案如下: 1)25.参考答案如下:1)哈希表a 及其生成过程如下:19:5 24:310:3,417:3,4,5,615:138:3,4,5,6,718:4,5,6,7,840:5,6,7,8,9ASL=(1+1+2+4+1+5+5+5)/8=24/8=30 1 2 3 4 52)哈希表b及其生成过程如下:19:524:310:3,417:3,4,215:138:3,4,2,718:4,5,3,840:5,6,4,9ASL=(1+1+2+3+1+4+4+4)/8=20/8=2.50 1 2 3 4 56.参考答案如下:四.算法设计题(30分)1.算法源代码如下:void delete(link h){link q, p;p=h->next;while(p!=NULL){ q=p;p=p->next;while(p->data==q->data){ q->next=p->next; free(p);p=q->next;}}}2.算法源代码如下:void huffmancode(htnode *ht, int m, char *hc[], int n){ int i,start,c,p;char cd[m]; cd[m-1]='\0';for(i=0;i<n;++i){ start=m-1; c=i; p=ht[i].parent;while(p!=-1){ if(ht[p].lchild==c) cd[--start]='0';else cd[--start]='1';c=p; p=ht[p].parent; }strcpy(hc[i],&cd[start]); }}3.算法源代码如下:int idk(algraph graph, int k){ arcptr p;int count=0, i;/*求邻接表中顶点k的入度*/for (i=1;i<=graph.vexnum;++i){ p=graph.vertices[i].firstarc;while(p!=NULL){ if(p->adjvex==k) count++;p=p->nextarc; }}}。
数据结构模拟试题答案

《数据结构》模拟试题一、单项选择题(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___。
《数据结构》3套模拟试题综合测试题带答案4

《数据结构》模拟试题10一、单项选择题(每题 3 分,共30分)1.设某无向图有n个顶点,则该无向图的邻接表中有()个表头结点。
(A) 2n (B) n (C) n/2 (D) n(n-1)2.设无向图G中有n个顶点,则该无向图的最小生成树上有()条边。
(A) n (B) n-1 (C) 2n (D) 2n-13.设一组初始记录关键字序列为(60,80,55,40,42,85),则以第一个关键字45为基准而得到的一趟快速排序结果是()。
(A) 40,42,60,55,80,85 (B) 42,45,55,60,85,80(C) 42,40,55,60,80,85 (D) 42,40,60,85,55,804.()二叉排序树可以得到一个从小到大的有序序列。
(A) 先序遍历(B) 中序遍历 (C) 后序遍历 (D) 层次遍历5.设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i结点的左孩子结点的编号为()。
(A) 2i+1 (B) 2i (C) i/2 (D) 2i-16.程序段s=i=0;do {i=i+1;s=s+i;}while(i<=n);的时间复杂度为()。
(A) O(n) (B) O(nlog2n) (C) O(n2) (D) O(n3/2)7.设带有头结点的单向循环链表的头指针变量为head,则其判空条件是()。
(A) head==0 (B) head->next==0(C) head->next==head (D) head!=08.设某棵二叉树的高度为10,则该二叉树上叶子结点最多有()。
(A) 20 (B) 256 (C) 512 (D) 10249.设一组初始记录关键字序列为(13,18,24,35,47,50,62,83,90,115,134),则利用二分法查找关键字90需要比较的关键字个数为()。
(A) 1 (B) 2 (C) 3 (D) 410.设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为()。
《数据结构》期末模拟试卷及参考答案【十套】

《数据结构》模拟试卷及参考答案模拟试卷一一、单选题(每题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的完全二叉树中最少有()个结点。
数据结构模拟试题四及答案

数据结构模拟试题四一、( 共30分,每题2分)单项选择题1.循环队列用数组A[0..m-1]存放其元素值,已知其头尾指针分别为front和rear,则当前元素个数为()A.(rear-front+m) mod m B.rear-front+1 C.rear-front-1D.rear-front E.以上答案都不对2.数据结构中,与所使用的计算机无关的是数据的()A.存储结构 B.物理结构 C.逻辑结构D.物理结构和存储结构E.以上答案都不对3.在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度都是O(n)。
A.遍历链表和求链表的第i个结点 B.在地址为p的结点之后插入一个结点 C.删除开始结点 D.删除地址为p的结点的后继结点E.以上答案都不对4.某二叉树的前序遍历序列为IJKLMNO,中序遍历序列为JLKINMO,则后序遍历序列为()A.JLKMNOI B.LKNJOMI C.LKJNOMI D.LKNOJMI E.以上答案都不对5.设n阶方阵是一个上三角矩阵,则需存储的元素个数为()A.n B.n*n C.n*n/2 D.n(n+1)/2 E.以上答案都不对6.串的“模式匹配”是指()A.判两个串是否相等 B.对两个串进行大小比较 C.找某字符在串中第一次出现位置 D.找某子串在主串中第一次出现的位置 E.以上答案都不对7.有n个结点的无向图的边数最多为()A.n+1 B.n(n-1)/2 C.n(n+1) D.2n(n+1) E.以上答案都不对8.多关键字文件是指()A.有多个主关键字 B.有多个次关键字 C.有一个主关键字多个次关键字D.有多个主关键字和多个次关键字 E.以上答案都不对9.某顺序存储的表格中有90000个元素,已按关键字值额定升序排列,假定对每个元素进行查找的概率是相同的,且每个元素的关键字的值皆不相同。
用顺序查找法查找时,平均比较次数约为()A.25000 B.30000 C.45000 D.90000 E.以上答案都不对10.对于序列(49,38,65,97,76,13,27,50)按由小到大进行排序,()是初始步长d=4的希尔排序法第一趟的结果。
数据结构模拟试卷DS4

模拟试卷四一、选择题(每小题2分,共16分)1.在下列备选答案中选出一个正确的,将其号码填在“”上。
(1)23415 (2)54132 (3)31245 (4)142532.若某线性表最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用存储方式最节省时间。
(1)单链表(2)双链表(3)带头结点的双循环链表(4)单循环链表3.二叉树在线索化后,仍不能有效求解的问题是。
(1)先序线索二叉树中求先序后继(2)中序线索二叉树中求中序后继(2)中序线索二叉树中求中序前趋(4)后序线索二叉树中求后序后继4.求最短路径的FLOYD算法的时间复杂度为。
(1)O(n) (2)O(n+e) (3)O(n2) (4)O(n3)5.下列排序算法中,在待排序的数据表已经为有序时,花费时间反而最多的是。
(1)快速排序(2)希尔排序(3)冒泡排序(4)堆排序6.下列排序算法中,每一趟都能选出一个元素放在其最终位置上,并且是不稳定的。
冒泡排序B、希尔排序C、直接选择排序D、直接插入排序、7.在平衡二叉树中插入一人结点后造成了不平衡,设最低的不平稳结点为A,并已知A的左孩子的平稳因子为-1,右孩子的平稳因子为0,则应作型调整以使其平稳。
(1)LL (2)LR (3)RL (4)RR 8.数据表A中有10000个元素,如果仅要求求出其中最大的10个元素,则采用排序算法最节省时间。
(1)堆排序(2)希尔排序(3)快速排序(4)直接选择排序二、判断题(每小题1分,共10分)判断下列各题是否正确,若正确,在()内打“√”‘,否则打“×”1.()线性表的唯一存储形式是链表。
2.()已知指针P指向链表L中的某结点,执行语句P:P^。
next不会删除该链表中的结点。
3.()在链队列中,即使不设置尾指针也能进行入队操作。
4.()如果一个串中的所有字符均在另一串中出现,则说前者是后者的子串。
5.()设与一棵树T所对的二叉树为BT,则与T中的叶子结点所对应的BT中的结点也一定是叶子结点。
数据结构模拟题及部分答案

《数据结构》模拟题一、单项选择题1、在数据结构中,从逻辑上可把数据结构分成()A.动态结构和静态结构B.线性结构和非线性结构C.紧凑结构和非紧凑结构D.内部结构和外部结构2、线性表的顺序存储结构是一种()的存储结构。
A.顺序存取B.索引存取C.散列存取D.随机存取3、组成数据的基本单位是()A.数据项B.数据元素C. 数据类型D.数据变量4、线性表的链接实现有利于()运算。
A. 查找B.读表元C.插入D.定位5、串的逻辑结构与()的逻辑结构不同。
A.树B.栈C.队列D. 线性表6、串的长度是()A.串中不同字符的个数B.串中所含字符的个数C.串中所含字符的个数且字符个数大于0D. 串中不同字母的个数7、下列不是数据的逻辑结构的是()A.线性结构B.树型结构C.图型结构D.物理结构8、带头结点的单链表L为空的判定条件是()A.L->next==NULLB.L==NULLC.L->next==LD.L!=NULL9、一个队列的入列序列是a,b,c,d,则队列的输出序列是()A.d,c,b,aB. a,b,c,dC.d,b,c,aD.c,b,d,a10、下列程序段的时间复杂度为()j=0;sum=0;while(sum<n){ j++; sum=sum+j;}n) D.O(n2)A. O(n)B. O(n)C.O(log411、下列程序段的时间复杂度为()s=s0;for( i=1; i<=n; i++)for(j=n; j>=n-i; j- -)s=s+1;n) C.O(n2) D.O(n3/2)A.O(n)B.O(nlog212、判定一个循环队列Q(最多元素个数为m)为满队列的条件是()A.Q.front==Q.rearB.(Q.rear+1)%m==Q.frontC.(Q.rear-1)%m==Q.frontD.(Q.front+1)%m==Q.rear13、判定一个栈S为空的条件是()A.S.top!=0B.S.top!=S.lengthC.S.top==S.baseD. S.top=S.length14、已知广义表LS=(a,(b,c,d),e),则运用GetHead(GetHead(GetTail(LS)))所得结果为()A.bB. (b,c,d)C.(b,c)D.e15、在一个长度为n的顺序表中向第i个元素(0<i≤ n+1)之前插入一个新的元素时,需向后移动的元素个数为()A.n-iB.n-i-1C.iD.n-i+116、在一个具有n个顶点的无向图中,要连通全部顶点至少需要()条边。
数据结构模拟试题(含答案)

数据结构模拟试题(含答案)一、单选题(共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中()。
数据结构模拟试题

设内存有大小为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分,共16分)
1.一个栈的输入序列为12345,则下列序列中是栈的输出序列的是。
a.2 3 4 1 5 b. 5 4 1 3 2
c.3 1 2 4 5 d.1 4 2 5 3
2.若某线性表最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用下列存储方式最节省时间。
a. 单链表 b.双链表
c.带头结点的双循环链表 d.单循环链表
3.二叉树在线索化后,仍不能有效求解的问题是。
a.先序线索二叉树中求先序后继 b. 中序线索二叉树中求中序后继
c. 中序线索二叉树中求中序前趋 d.后序线索二叉树中求后序后继
4.求最短路径的FLOYD算法的时间复杂度为。
a.O(n) b.O(n+e)
c.O(n2) d.(n3)
5.下列排序算法中,在待排序的数据表已经为有序时,花费时间反而最多的是。
a.快速排序 b. 希尔排序
c.冒泡排序 d.堆排序
6. 下列排序算法中,每一趟都能选出一个元素放在其最终位置上,并且
是不稳定的。
a.冒泡排序 b. 希尔排序
c.直接选择排序 d.直接插入排序
7.在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并已知A的左孩子的平衡因子为 -1,右孩子的平衡因子为0,则应作型调整以使其平衡。
a. LL b. LR c. RL d. RR
8. 数据表A中有100O0个元素,如果仅要求求出其中最大的10个元素,则采用
排序算法最节省时间。
a.堆排序 b.希尔排序
c. 快速排序 d.直接选择排序
二、判断题(每小题1分,井10分)
1.()线性表的唯一存储形式是链表。
2.()已知指针P指向链表L中的某结点,执行语句P := P^.next不会删除该链表中的结点。
3.()在键队列中,即使不设置尾指针也能进行入队操作。
4.()如果一个串中的所有字符均在另一串中出现,则说前者是后者的子串。
5.()设与一棵树T所对应的二叉树为BT,则与T中的叶子结点所对应的BT
中的结点也一定是叶子结点。
6.()9阶B树中,除根以外的任何一个非叶子结点中的关键字数目均在5~ 9之间。
7.()任一AOE网中至少有一条关键路径,且是从源点到汇点的路径中最长
的一条。
8.()若图G的最小生成树不唯一,则G的边数一定多于n-1,并且权值最小的边有多条(其中n为G的顶点数)。
9.()给出不同的输入序列建造二叉排序树,一定得到不同的二叉排序树。
10.()由于希尔排序的最后一趟与直接插入排序过程相同,因此前者一定比后者花费的时间多。
三、填空题(每空2分,共20分)
1.带头结点的双循环链表L为空表的条件是。
2.在双链表中,在指针P所指结点前面插入一个结点到的语句序列是:
S^.next := P; S^.prior := P^.prior; P^.prior := S;。
3.对广义表A =(x,((a,b),c,d)的运算head(head(tail(A)))的结果是。
4.已知完全二叉树的第7层有10个叶子结点,则整个二叉树的结点数最多是。
5. 有n个结点并且其高度为n的二叉树的数目是。
6.循环队列采用数组data[1..n]来存储元素的值,并用front和rear分别作为其头尾指针。
为区分队列的满和空,约定:队中能够存放的元素个数最大为n-1,也即至少有一个元素空间不用,则在任意时刻,至少可以知道一个空的元素的下
标是。
入队时,可用语句求出新元素在数组data中的下标。
7.高度为8的平衡二叉树的结点数至少是。
8.在有 n个顶点的有向图中,每个顶点的度最大可达。
9.数组A[1..10,1..1O]的每个元素占5个单元,将其按列优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,6]的地址为。
四、解答下列各题(26分)
1.已知二叉树的中序序列和后序序列如下,画出该二叉树。
(5分)
中序序列为:DCEFBHGAKJLIM
后序序列为:DFECHGBKLJMIA
2. 以下面数据作为叶子结点的权值构造一棵哈夫曼树,并计算出其带权路径长度。
(6分)
{5,6,7,8,9,10,15,18,22}
3.对下面数据表,写出采用快速排序算法排序的每一趟的结果,并标明第一趟排序过程中的数据移动情况。
(5分)
(50,12,20,31,1,5,44,166,61,100,30,80,150,4,8)4.求出下图的所有拓扑序列,并指出哪一个是拓扑排序算法的运行结果(设算法中搜索顶点的邻接点均是按从小到大的次序进行的)。
(5分)
5.画出在递增有序表A[1..21]中进行H分查找的判定树。
(5分)
五、算法设计(共28分)
1.已知带头结点的单循环链表L中至少有一个元素,设计算法判断L中各元素的值是否均是其序号的两倍,若满足,返回true,否则返回false,同时返回该链表
中的结点数。
(6分)
2.已知数组A[1..nj的元素递增有序。
设计算法以数组A中的元素构造一棵二又排序树,并使其满足平衡二叉树的条件。
(8分)
3.设计算法,打印连通图G中每个顶点一次且仅一次,并要求其打印次序满足条件:距顶点VO近的顶点先于距离远的顶点(以边数为单位)。
(8分)4.在下面冒泡排序算法中填入适当内容,以使该算法在发现有序时能及时停止。
(6分)
Procedure bubble(var a:array[l..n] of Integer);
Begin
i := 1;
repeat
exchanged:=false ;
for j := n downto do
if a[j] < a[j-1] then
begin
a[j] <==> a[j—1];{交换}
;
end;
;
until;
End;。