数据结构模拟试题4

合集下载

数据结构_模拟测验题1-4(带答案)

数据结构_模拟测验题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)。

(完整word版)数据结构试题试卷四含答案

(完整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)。

劣势是如果存在多个关键字映射到同一个位置,就会发生冲突,需要解决冲突问题。

数据结构模拟试题及答案

数据结构模拟试题及答案

数据结构模拟试题一一、判断题(每小题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的有序表时,排序码的比较次数至少是___次,至多是___次。

《数据结构》试卷四含答案

《数据结构》试卷四含答案

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

A.动态结构和静态结构 B. 紧凑结构和非紧凑结构C. 线性结构和非线性结构D. 内部结构和外部结构2.线性表若采用链式存储结构时,要求内存中可用存储单元的地址 ( ) 。

A. 必须是连续的B. 部分地址必须是连续的C. 一定是不连续的D. 连续不连续都可以3.不带头结点的单链表 head 为空的判定条件是( ) 。

A. head == NULLB. head->next ==NULLC. head->next == headD. head! = NULL4.在一个单链表中,已知 q 所指结点是 p 所指结点的前驱结点,若在 q 和 p 之间插入s 结点,则执行( ) 。

A. s-next=p-next; p-next=s;B. p->next=s->next; s-next=p;C. q->next=s; s->next=p;D. p-next=s; s->next=q;5.从一个具有n个结点的单链表中查找其值等于 x 结点时,在查找成功的情况下,需平均比较( )个结点。

A. nB. n/2C. (n-1)/2D. (n+1)/26.一个栈的入栈序列是 a,b,c,d,e,则栈的不可能的输出序列是( )。

A. edcbaB. decbaC. dceabD. abcde 7.判定一个循环队列 QU(最多元素为 m0)为满队列的条件是( )。

A. QU->front==QU->rearB. QU->front!=QU->rearC. QU->front==(QU->rear+1) % m0D. QU->front!=(QU->rear+1) % m0 8.栈和队列的共同点是( ) 。

A. 都是先进后出B. 都是先进先出C. 只允许在端点处插入和删除元素D. 没有共同点9.数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA 开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为( ) 。

数据结构练习试卷4(题后含答案及解析)

数据结构练习试卷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解析:二分法是快速查找方法,但要求线性表是有序的。

如果把线性表按趋势分块,也就是说,块之间有序,块内不一定有序。

十套数据结构模拟题+答案

十套数据结构模拟题+答案

数据结构试卷(一)一、选择题(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参考答案.

数据结构模拟试题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___。

数据结构形考作业4

数据结构形考作业4

一、单项选择题(每小题2分,共42分)题目1对线性表进行二分查找时,要求线性表必须()。

选择一项:A.以链接存储方式,且数据元素有序B.以顺序存储方式,且数据元素有序C.以链接存储方式D.以顺序存储方式题目2采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为()。

选择一项:A.(n-l)/2B.nC.(n+l)/2D.n/2题目3有一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为()。

选择一项:A.29/9B.26/10C.31/10D.29/10题目4已知一个有序表为{□,22,33,44,55,66,77,88,99},则顺序查找元素55需要比较()次。

选择一项:A.5B. 4C. 3D. 6题目5有数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉排序树,若希望高度最小,应该选择的序列是()。

选择一项:A.12,24,30,37,45,53,96B.37,24,12,30,53,45,96C.30,24,12,37,45,96,53D.45,24,53,12,37,96,30题目6对于顺序存储的有序表{5,12,20,26,37,42,46,50,64},若采用折半查找,则查找元素26的比较次数是()。

选择一项:A. 4B.5C.6D.3题目7在所有的排序方法中,关键字比较的次数与记录初始排列秩序无关的是()。

选择一项:A.希尔排序B.直接选择排序C.直接插入排序D.冒泡排序题目8从未排序序列中依次取出元素与已经排好序的序列中的元素作比较。

将其放入已排序序列的正确的位置上,此方法称为()。

选择一项:A.交换排序B.归并排序C.插入排序D.选择排序题目9依次将每两个相邻的有序表合并成一个有序表的排序方法称为()。

选择一项:A.归并排序B.选择排序C.交换排序D.插入排序题目10当两个元素出现逆序的时候就交换位置,这种排序方法称为()。

《数据结构》3套模拟试题综合测试题带答案4

《数据结构》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指向当前链式栈的栈顶,则删除栈顶元素的操作序列为()。

数据结构模考试题及答案

数据结构模考试题及答案

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

(完整word版)数据结构考试题4

(完整word版)数据结构考试题4

要求:所有的题目的解答均写在答题纸上,需写清楚题目的序号。

每张答题纸都要写上姓名和学号。

一、单项选择题(每小题2分,共15小题,共计30分)1. 以下不属于存储结构是 。

A.栈 B.线索树 C.哈希表 D.双链表2. 以下算法的时间复杂度为 。

void fun(int n) { int i=1; while (i<=n) i=i*3; }A. O(n )B. O(n 2)C. O(log 2n )D. O(log 3n )3. 在含有n 个节点的单链表中查找第i 个节点的平均时间复杂度是 。

A.O(log 2n ) B.O(1) C.O(n 2) D.O(n )4. 设栈S 和队列Q 的初始状态均为空,元素a ,b ,c ,d ,e ,f ,g 依次进入栈S 。

若每个元素出栈后立即进入队列Q ,且7个元素出列的顺序是b ,d ,c ,f ,e ,a ,g ,则栈S 的容量至少是 。

A. 1B. 2C. 3D. 45. 已知循环队列存储在一维数组A [0..n -1]中,且队列非空时front 和rear 分别指向队头元素和队尾元素。

若初始时队列空,且要求第一个进入队列的元素存储在A [0]处,则初始时front 和rear 的值分别是 。

A. 0,0B. 0,n -1C. n -1,0D. n -1,n -1 6. 一个n ×n 的对称矩阵A ,如果采用以列优先(即以列序为主序)的压缩方式存放到一个一维数组B 中,则B 的容量为 。

A. n 2B.22n C.2)1(+n n D.2)1(2+n 7. 若一棵3次树中有a 个度为1的节点,b 个度为2的节点,c 个度为3的节点,则该树中有 个叶子节点。

A.1+2b +3cB.a +2b +3cC.2b +3cD.1+b +2c8. 一个无向连通图中有16条边,所有顶点的度均小于5,度为4的顶点有3个,度为3的顶点有4个,度为2的顶点有2个,则该图有 个顶点。

数据结构模拟卷(含答案)经典习题.doc

数据结构模拟卷(含答案)经典习题.doc

数据结构模拟卷(含答案)经典习题.doc 练习题⼀、单项选择题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. 散列存储和顺序存储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;ifor(j=1;js+=i*j;A.O(1)B.O(logn)C.O(n)D.O(n2)20. 已知指针p和q分别指向某单链表中第⼀个结点和最后⼀个结点。

大学计算机《数据结构》试卷及答案(四)

大学计算机《数据结构》试卷及答案(四)

大学计算机《数据结构》试卷及答案第一部分 选择题(30分)一、项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后括号内。

1.算法指的是( )A .计算机程序B .解决问题的计算方法C .排序算法D .解决问题的有限运算序列 2.线性表采用链式存储时,结点的存储地址( ) A .必须是不连续的B .连续与否均可C .必须是连续的D .和头结点的存储地址相连续3.将长度为n 的单链表链接在长度为m 的单链表之后的算法的时间复杂度为() A .O (1) B .O (n ) C .O (m ) D .O (m+n ) 4.由两个栈共享一个向量空间的好处是:( ) A .减少存取时间,降低下溢发生的机率 B .节省存储空间,降低上溢发生的机率 C .减少存取时间,降低上溢发生的机率 D .节省存储空间,降低下溢发生的机率5.设数组data[m]作为循环队列SQ 的存储空间,front 为队头指针,rear 为队尾指针,则执行出队操作后其头指针front 值为( )A .front=front+1B .front=(front+1)%(m-1)C .front=(front-1)%mD .front=(front+1)%m 6.如下陈述中正确的是( )A .串是一种特殊的线性表B .串的长度必须大于零C .串中元素只能是字母D .空串就是空白串7.若目标串的长度为n ,模式串的长度为[n/3],则执行模式匹配算法时,在最坏情况下的时间复杂度是( )A .O ()B .O (n )C .O (n 2)D .O (n 3) 8.一个非空广义表的表头( )A .不可能是子表B .只能是子表C .只能是原子D .可以是子表或原子9对应的稀疏矩阵是( )n 3080650400000--⎡⎣⎢⎢⎤⎦⎥⎥.08067000504000000300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥10.在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为( )A .4B .5C .6D .711.在含n 个顶点和e 条边的无向图的邻接矩阵中,零元素的个数为( ) A .e B .2e C .n 2-e D .n 2-2e12.假设一个有n 个顶点和e 条弧的有向图用邻接表表示,则删除与某个顶点v i相关的所有弧的时间复杂度是( )A .O(n)B .O(e)C .O(n+e)D .O(n*e)13.用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下: 20,15,21,25,47,27,68,35,84 15,20,21,25,35,27,47,68,84 15,20,21,25,27,35,47,68,84则所采用的排序方法是( )A .选择排序B .希尔排序C .归并排序D .快速排序 14.适于对动态查找表进行高效率查找的组织结构是( )A .有序表B .分块有序表C .三叉排序树D .线性链表 15.不定长文件是指( )A .文件的长度不固定B .记录的长度不固定C .字段的长度不固定D .关键字项的长度不固定第二部分 非选择题(共70分)二、填空题(本大题共10小题,每小题2分,若有两个空格,每个空格1分,共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分,共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

《算法与数据结构》模拟试题4--答案

《算法与数据结构》模拟试题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第三趟归并完毕,排序结束。

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

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

数据结构模拟试题四一、( 共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的希尔排序法第一趟的结果。

数据结构练习题四

数据结构练习题四

数据结构练习题四一、填空题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的结点,则此类二叉树中所包含的结点数至少为。

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

一.选择题(20分)
1.n个顶点的无向图的邻接表中结点总数最多有()个。

(A)2n (B)n (C)n/2 (D)n(n -1)
2.设连通图G的顶点数为n,则G的生成树的边数为()。

(A)n (B)n-1(C)2n (D)2n-1
3.下列哪种排序需要的附加存储开销最小()。

(A)快速排序(B)堆排序(C)归并排序(D)计数排序
4.若按()列出二叉树排序树中所存储的元素,则恰好是集合中所有元素从小到大的排序。

(A)先序(B)中序(C)后序(D)按层次
5.在下列4棵树中,哪一棵是完全二叉树()。

10 10
40 15
40 15
50 25 20 35 50 25 20
30 35 30
(a)(b)
10
10
35 15 35 15
40 50 25 20 40 50 30 20 30 25
(c)(d)
6.下面程序段的时间复杂度为()。

s=s0;
for(i=1;i<=n;i++)
for(j=n;j>=n-i;j--)
s=s+1;
(A)O(n)(B)O(nlog2n)(C)O(n^2)(D)O(n^(3/2))
7.采用链结构存储线性表时,其地址()。

(A)必须是连续的(B)连续不连续都可以
(C)部分地址必须是连续的(D)必须是不连续的
8.具有2000个结点的二叉树,其高度至少为()。

(A)9 (B)10 (C)11 (D)12
9.按字母顺序,下图中的二叉排序树是()。

A A
B C B E
D E C
D
(a)(b)
A A
B B C
C D
D E
E
(a)(d)
10.设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为()。

(A)p->next=p->next->next;(B)p=p->next
(C)p=p->next->next (D)p->next =p
二.判断题(10分)
1.具有线性序关系的集合中,若a,b是集合中的任意两个元素,则必有a<b的关系。

()
2.二叉排序树的左、右子树都是二叉排序树。

()
3.在堆中执行INSERT与DELETEMIN运算都只需O(log2n)时间。

()
4.一棵满二叉树同时又是一棵平衡树。

()
5.即使某排序算法是不稳定的,但该方法仍有实际应用价值。

()
6.连通分量是无向图中的极小连通子图。

()
7.先序遍历一棵二叉排序树所的的结点访问序列不可能是键值递增序列。

()
8.不论adt栈是用数组实现,还是用指针实现,Pop(s)与Push(x,s)的时间复杂度均为O(n)。

()
9.表中的每一个元素都有前驱和后继元素。

()
10.作为解决一类特定问题的算法,不能没有输入运算项。

()
三.填空题(每空2分,共22分)
1.在双向循环表中,在p所指的结点之后插入指针f所指的结点,其操作为
=p;f->next=p->next;=f;p->next=f。

2.若字符串t=‘ababcab’,前缀函数next[5]=;
3.一个具有n个顶点的有向完全图的弧数为。

4.有序字典是以为基础的抽象数据类型。

5.设键值序列为{K1,K2,…,Kn},用筛选法建堆必须从第个元素开始筛选
6.哈希表的两种形式是:和。

7.设一棵二叉树共用50个叶子结点(终端结点),则它共有个度为2的结点。

8.高度为h(≥0)的二叉树,至少有个结点,最多有个结点。

四.应用题(20分)
1.依次输入集合{20,13,22,5,16,3,48,24}中的键值,得到一棵二叉排序树,试画出该二叉排序树并求出在等概率下成功查找的平均查找长度。

(5分)
2.设下图所示的二叉树是由森林转换而成的,试将它还原为森林。

(5分)
A
B H
C I
E D J
F K
G
3.树与二叉树之间有何区别?(5分)
4.已知图如下所示。

(5分)
(1)要求用Kruskai算法求出最小生成树。

(2)指出生成树的第一条边。

5
1 2
5 7
10 5 6
3 18
3 4 6
五.算法设计(28分)
1.编写一个程序,输出二叉树排序树BT中最小的键值。

(8分)
2.我们用链表来存储多项式Pn(x)=C1xe^1+C2xe^2+…+Cm xe^m,其中n=em>em-1>…>e1≥0,Ci!=0(i=1,2,…,m,m>1),试编写求Pn(x)微商的算法。

(注,d(x^k)/dx=kx^(k-1))(10分)
3.设计一个算法,求出指定结点在给定的二叉树中所在的层次。

(10分)。

相关文档
最新文档