《数据结构》模拟试卷14971
数据结构模拟测验题
数据结构模拟试卷一一、单选题(每小题2分,共20分)1. 在数据结构的讨论中把数据结构从逻辑上分为()。
A.内部结构与外部结构 B. 静态结构与动态结构 C. 线性结构与非线性结构 D. 紧凑结构与非紧凑结构2. 采用线性链表表示一个向量时,要求占用的存储空间地址()。
A. 必须是连续的B. 部分地址必须是连续的C. 一定是不连续的D. 可连续可不连续3. 采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为()。
A. nB. n/2C. (n-1)/2D. (n+1)/24. 在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行()。
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个数据中只需要选择其中最小的10个,采用()方法最好。
A.冒泡排序B. 堆排序C. 直接插入排序D. 快速排序6. 设有两个串t和p,求p在t中首次出现的位置的运算叫做()。
A. 求子串B. 模式匹配C. 串替换D. 串连接7. 在数组A中,每一个数组元素A[i][j]占用3个存储单元,行下标i从1到8,列下标j从1到10。
所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储单元是()。
A. 80B. 100C. 240D. 2708. 将一个递归算法改为对应的非递归算法时,通常需要使用()。
A. 栈B. 队列C. 循环队列D. 优先队列9. 一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为()。
A. 4, 3, 2, 1B. 2, 4, 3, 1C. 1, 2, 3, 4D. 3, 2, 1, 410. 在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是()。
数据结构_模拟测验题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)。
数据结构模拟试卷及参考答案
数据结构模拟试卷及参考答案一、简答题(共10题,每题10分,共计100分)1. 什么是数据结构?请简要解释。
数据结构是计算机中用于组织和存储数据的方式,它包含了一系列的数据元素,以及这些数据元素之间的关系和操作。
通过使用不同的数据结构,可以更高效地存储、查找和操作数据。
2. 请解释什么是栈,并给出一个栈的应用场景。
栈是一种具有特定操作限制的数据结构,它遵循"先进后出"(LIFO)的原则。
栈的应用场景包括函数调用、表达式求值、撤销操作以及浏览器中的历史记录。
3. 什么是队列?请给出一个队列的实际应用例子。
队列是一种具有特定操作限制的数据结构,它遵循"先进先出"(FIFO)的原则。
一个实际应用例子是操作系统的进程调度,进程按照到达时间加入队列,并按照一定规则出队执行。
4. 请解释什么是链表,并给出一个链表的优点和缺点。
链表是一种动态数据结构,它由一系列节点构成,每个节点包含数据和指向下一个节点的指针。
链表的优点是可以动态地分配内存空间,且插入和删除节点的时间复杂度为O(1)。
缺点是访问链表某个具体节点的时间复杂度为O(n),且需要额外的内存空间存储指针。
5. 请解释什么是树,并给出一个树的实际应用例子。
树是一种分层次的数据结构,它由一系列节点和节点之间的关系构成。
一个实际应用例子是文件系统的目录结构,文件和文件夹通过树的结构进行组织和存储。
6. 请解释什么是图,并给出一个图的实际应用例子。
图是一种由节点和节点之间的连接关系组成的数据结构。
一个实际应用例子是社交网络,人与人之间的关系可以用图来表示,每个人是一个节点,节点之间的连接表示关系。
7. 请解释什么是散列(哈希)表,以及它的优势和劣势。
散列表是一种根据关键字直接访问的数据结构,它通过将关键字映射到表中的位置来实现快速的查找操作。
散列表的优势是查找操作的平均时间复杂度为O(1)。
劣势是如果存在多个关键字映射到同一个位置,就会发生冲突,需要解决冲突问题。
十套数据结构模拟题+答案
数据结构试卷(一)一、选择题(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 =____________;。
数据结构模拟试题答案
《数据结构》模拟试题一、单项选择题(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___。
数据结构期末模拟试题(带答案)
(A)O(n)(B)O(n2)(C)O(log2n)(D)O(nlog2n)
7、如果一棵树有10个叶子结点,则该树至少有个结点。
(A)10(B)11(C)19(D)21
8、一个100×100的三角形矩阵a采用行优先压缩存储后,如果首元素a[0][0]是第一个元素,
那么a[4][2]是第A个元素。
for(i=______;i>=1;--i)
{
for(j=1;j<=i;++j)
{
if(_______)
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
}
2、在单链表(表头指针为head)的元素中找出最后一个值为e的元素,返回其指针;如果找不到,则返回NULL,完成以下程序。(6分)//应去掉“最后一个”
4500,则该算法的时间复杂度是
3、在一个长度为n的顺序表中插入一个元素,最少需要移动个元素,最多需要移动个元素。
4、如果某有向图的所有顶点可以构成一个拓扑排序序列,则说明该有向图
5、如果指针p指向一棵二叉树的一个结点,则判断p没有左孩子的逻辑表达式为。
6、一个数组的长度为20,用于存放一个循环队列,则队列最多只能有元素。
1、顺序链式
2、O(n2)
3、0n
4、无环路
5、p->lchild==NULL
6、19
7、所有顶点度之和
8、n-2
四、简答题
1、(1)4261225630152021618
(2)4122526615203021618
2、(1)BEFCGDA
(2)
3、(1)
《数据结构》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.数据的物理结构被分为_________、________、__________和___________四种。
数据结构模考试题及答案
数据结构模考试题及答案一、单选题(共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的完全二叉树中最少有()个结点。
《数据结构》模拟试题与参考答案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进栈,要求在下划线处填上正确的语句。
数据结构模拟试题及答案
数据结构模拟试题一一、判定题(每题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的有序表时,排序码的比较次数至少是___次,最多是___次。
数据结构模拟卷(含答案)经典习题.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分别指向某单链表中第⼀个结点和最后⼀个结点。
数据结构模拟试卷及参考答案
数据结构模拟试卷及参考答案(总17页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--数据结构模拟试卷(一)及参考答案一.单项选择题(本大题共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)/2 8.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系( D )A.不一定相同B.互为逆序C.都不相同 D.都相同9.高度为5的二叉树至多有结点数为( A )A. 63B. 32C. 24 10.若用邻接矩阵表示一个有向图,则其中每一列包含的″1″的个数为( B )A.图中每个顶点的出度 B.图中每个顶点的入度C.图中弧的条数 D.图中连通分量的数目11.图的邻接矩阵表示法适用于表示( C )A .无向图B .有向图C .稠密图D .稀疏图12.在一个单链表中,若p 所指的结点不是最后一个结点,在p 之后插入s 所指的结点,则执行( D )。
数据结构模拟试题一
数据结构模拟试题一一、单选题(每小题2分,共8分)1、在一个长度为n的顺序存储的线性表中,删除第i个元素(1≤i≤n)时,需要从前向后依次前移个元素。
A 1一iB n一i十1C n一j一1 C i2、下列排序算法中( )排序在一趟结束后不一定能选出一个元素放在最终位置上。
A. 选择B. 冒泡C. 归并D. 堆3、假定一个顺序队列的队首和队尾指针分别为1和r,则判断队空的条件为。
A f十1= =rB r+1= =fC f= =0D f= =r4、设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。
与森林F对应的二叉树根结点的右子树上的结点个数是()。
A.M1 B.M1+M2 C.M3 D.M2+M3二、填空题(每空1分,共32分)1、在线性结构、树结构和图结构中,前驱和后继结点之间分别存在着、和的联系。
2、在线性表的单链接存储中,若一个元素所在结点的地址为p,则其后继结点的地址为,若假定p为一个数组a中的下标,则其后继结点的下标的。
3、假定在一棵二叉树中,度为2的结点有50个,度为1的结点有20个,度为0的结点有_________个,该二叉树共有_________条边?4、栈又称为表,队列又称为表。
5、后缀表达式“4 5+3*2 4+ *”的值为。
6、一棵深度为5的满二叉树中的结点数为个,一棵深度为3的满四叉树中的结点数为个。
7、对于一棵含有40个结点的理想平衡树,它的高度为。
8、从一棵二叉搜索树中查找一个元素时,若元素的值等于根结点的值,则表明,若元素的值小于根结点的值,则继续向查找,若元素的大于根结点的查找。
9、当从一个小根堆中删除一个元素时,需要把元素填补到位置,然后根据条件把它逐层调整。
10、对于一个具有n个顶点的图,若采用邻接炬阵表示,则矩阵大小为。
11、对于一个具有n个顶点和e条边的连通图,其生成树中的顶点数和边数分别为和。
12、在图G的邻接表表示中,每个顶点邻接表中所含的结点数,对于无向图来说等于该顶点的______;对于有向图来说等于该顶点的______。
数据结构模拟题及部分答案
《数据结构》模拟题一、单项选择题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
数据结构模拟题(十套)
数据结构试卷(一)一、选择题( 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) 2 i (C) 2 i-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. 设有以下四种排序方法,则()的空间复杂度最大。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1) ;
}
else { (2) ; n=n-1; }
}
(3) ;
}
3.下列算法求出指定结点*p在二叉排序树中所在的层次,请填上适当的内容,使之成为完整的算法
C. 一个有限序列,可以为空 D. 一个有限序列,不能为空
2. 以二叉链表作为二叉树的存贮结构时,在具有n个结点的二叉链表中(n>0),空指针域的个数为 ( )
A.2n-1 B. n+1 C. n-1 D. 2n+1
m=p; //m为当前最大值时遍历未排序表的指针
pos=p; //pos 为当前最大值结点指针
while(m->next!=NULL) {
if( (1) )
{ q=m; pos=m->next;} //q为pos的前趋
A.双亲表示法 B. 孩子链表表示法
C. 顺序存储表示法 D. 孩子兄弟表示法
13.对n个记录的文件进行堆排序,最坏情况下的执行时间为 ( )
A. O(log2n) B. O(nlog2n) C. O(n) D. O(n2)
9. 设有两个子串S和T, 求T在S中首次出现的位置的运算称为 ( )
A. 连接 B. 求子串 素,采用二分法查找时,最大比较次数是 ( )
A. 49 B. 15 C. 20. D. 7
if(T->data< p->data) T=T->rchild;
else (2) ;
(3) ;
}
}
return level;
}
4. 设不带头结点单链表的结点是按关键字从小到大排列的,试对下面链表的查找算法填空,使之成为完整的算法
(2) ;
}
if(pos!=p) {
(3) ;
if(p==head)
(4) ;
else
(5) ;
int SearchLevel(BSTree T, BSTNode * p)
{ int level=0;
if(T==NULL)
return(0);
else {
leavl=level+1;
while( (1) ) {
14.一个记录的关键字为(46,79,56,38,42,88),采用快速排序以第一个记录为基准得到的第一次划分结果为 ( )
A.(38,42,46,56,79,88) B.(42,38,46,79,56,88)
C.(42,38,46,56,79,88) D.(42,38,46,56,79,88)
15.设有向图有n个顶点和e条边,进行拓扑排序时,总的计算时间为 ( )
A. O(nlog2e) B. O(ne) C. O(en) D. O(n+e)
二、填空题(本大题共10小题,每小题2分,若有两个空格,每个空格1分,共20分)不写解答过程,将正确的答案写在每小题的空格内
画出建好的散列表结构(假定用线性探测法解决冲突);(3分)
3. 已知序列{7,8,5,12,4,7},给出二叉排序树的构造过程
(5分)
4. 分别按前序、中序、后序遍历下图所示的二叉树,给出相应的结点序列(5分)
四、算法阅读题(本大题共4小题,每小题5分,共20分)
??
??
??
??
第1页
尊重人不应该胜于尊重真理
—— 柏拉图
11.如果以链表作为栈的存储结构,则出栈操作时 ( )
A. 必须判别栈是否为空 B. 判别栈元素的类型
C. 必须判别栈是否为满 D. 对栈不必作任何判别
12.下列存储表示中,哪一个不是树的存储形式 ( )
8.利用直接选择排序算法对n个记录进行排序,在最坏情况下,记录交换的次数为
9.由二叉树的 (1) 序列或 (2) 序列可以唯一确定一棵二叉树
10.文件的基本操作主要是指 (1) 和 (2)
三、解答题(本大题共4小题,每小题5分,共20分)
A. 8 B. 7 C. 6. D. 5
5. 下列排序算法中, 排序在每趟结束后不一定能选出一个元素放到其排好的最终位置上的算法是 ( )
A. 选择排序 B. 冒泡排序 C. 归并排序 D. 堆排序
s=pos;
}
else { s=p; p=p->next; } //s为p的前趋
}
}
2. 用顺序存储结构实现将两个有序表合并成一个有序表,合并后的结果不另设新表存储,写出算法的空缺部分
说明:A,B为整型有序表,合并后的结果仍放在A中
1. 已知一组关键字为{25,7,32,98,93,17,49,93,27}
对以上关键字进行冒泡排序,写出每一次排序结果的排列次序(5分)
2. 设有一组关键码{68,31,120,49,98,53}需插入到表长为12的散列表中
(1) 设计一个适当的散列函数;(2分)
(2)用设计的散列函数将上述关键码插入散列表
void search(LinkList head, DataType x)
{//有序链表上的查找,查找成功返回结点指针,否则返回NULL
ListNode * p=head;
while( (1) && p->data < x)
A.顺序 B. 分块 C. 折半 D. 其它
8. 链表不具有的特点是 ( )
A. 所需空间与线笥表成正比 B. 不必事先估计存储空间
C. 插入删除时不需移动元素 D. 随机访问
错填或不填均无分
1.在一个算法中,一条语句重复执行的次数称为______
2.数据结构的三个要素是数据的逻辑结构、 (1) 和 (2)
3.在单链表中,指针p所指结点为最后一个结点的条件是
4.带头结点的单链表中,除头结点外,任一结点的存储位置(地址)是在
1.下列算法是对一个用链表表示的文件进行直接选择排序,请填入合适的内容,使其成为一个完整的算法
void SelectSort(LinkList head)
{ //链表结构的直接选择排序(降序)
ListNode * p=head;//p为未排序的第一个结点指针
while(p!=NULL) {
6. 设有向图有n个顶点和e条边,进行拓扑排序时,总的计算时间为 ( )
A. O(nlog2e) B. O(elog2n) C. O(en) D. O(n+e)
7. 如果要求一个线性表既能较快的查找,又能适应动态变化的要求,则可采用的查找方法是 ( )
3. 若一个序列的进栈顺序为1,2,3,4, 那么不可能的出栈序列是 ( )
A. 4,2,3,1 B. 3,2,1,4 C. 4,3,2,1 D. 1,2,3,4
4. 具有65个结点的完全二叉树其深度为(根的层次号为1) ( )
尊重人不应该胜于尊重真理
—— 柏拉图
《数据结构》模拟试卷1
一、 单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内
错选或未选均无分
1. 线性表定义为 ( )
A. 一个无限序列,可以为空 B. 一个无限序列,不能为空
(2) ;
if( (3) )
return p;
else
return NULL;
}
五、算法设计题(本题共10分)
试编写算法将一个带头结点单循环链表A分解为两个具有相同结构的链表B、C,其中,B表中结点是A表中值为奇数的结点,而C表中结点是A表中值为偶数的结点(要求利用原表结点空间)
5.多个值相同的元素只分配一个存储空间,零元素不分配空间,称为
6.已知二叉树的前序遍历序列为ABDCEFG,中序遍历序列为DBCAFEG,则后序遍历序列为
7.如要将序列{52,18,25,70,96,72,75}建成小根堆,则只需把18与 相互交换
void merge(SeqList * A, SeqList B);
{ int n ,m ;
n=A->length; m=B.length;//A,B表的长度分别赋给n,m
while(m>0) {
if(n==0 || A->data[n-1]< B.data[m-1])