(答案)数据结构复习试卷一

《数据结构》答案(试卷1)

一.简述下列术语(14分)

数据类型:是一个值的集合和定义在这个值集上的一组操作的总称。在用高级程序语言编写的程序中,必须对程序中出现的每个变量、常量或表达式,明确说明它们所属的

数据类型。

时间复杂度:假如随着问题规模n 的增长,算法执行时间的增长率和f(n) 的增长率相同,则可记作:T (n) = O(f(n)) ,称T (n) 为算法的(渐近)时间复杂度。

串:是由零个或多个字符组成的有限序列。一般记为s=…a1a2a3…an‟ (n≥0)

其中,s是串名,单引号括起来的字符序列是串的值;

满二叉树:深度为k且含有2 k - 1个结点的二叉树,其特点是每一层上的结点数都是最大结点数。

连通分量:若无向图为非连通图,则图中各个极大连通子图称作此图的连通分量。

顺序文件:记录按其在文件中的逻辑顺序依次进入存储介质而建立的文件,即文件物理结构中记录的排列顺序和文件的逻辑结构中记录的排列顺序一致。

主关键字:用来唯一地标识一个数据元素(或记录)的某个数据项的值,称为主关键字。

二.简答题:线性表的顺序存储结构和链式存储结构各有那些特点?(6分)

顺序存储结构的特点:

表中相邻的两个元素其物理存储位置也相邻。即以元素在计算机内物理位置上的相邻来表示线性表中数据元素之间相邻的逻辑关系。

顺序存储结构的优缺点:

⑴无需为表示数据元素之间的关系而增加额外存储空间,存储密度高;

⑵可以随机存取表中任一元素,它的存储位置可用一个简单直观的公式来表示;

⑶插入和删除运算时,必须移动大量元素,尤其是当线性表的数据元素含有复杂信息时,移动工作量很大,效率较低;

⑷必须预先为线性表分配空间,表容量难以扩充,必须按线性表最大可能长度分配空间。若是线性表长度变化较大时,则使存储空间不能得到充分利用;且有时难以准确估计线性表最大长度,估计过小导致溢出,估计过大又会造成存储空间浪费。

链式存储结构的特点:

数据元素之间的逻辑关系是由结点中的指针来指示的,逻辑上相邻的两元素其物理位置不要求紧邻。链式存储结构的优缺点:

⑴插入和删除运算时,无须移动表中元素的位置,只需修改有关结点的指针内容;

⑵不能随机访问表中元素,访问时间与元素在表中的位置有关;

⑶不需要一块连续的存储空间,只要能存放一个数据元素的空闲结点就可以被利用;

⑷表的规模易扩充。

三.解答题:用堆栈对算术表达式求值:3*(7-2),写出堆栈的操作顺序和过程(6分)

四.画出一个采用链式存储结构的队列示意图,分别写出其进队和出队的算法(10分)

链队列示意图请参考教材P61图3.10。

链队列的入列算法:

void enqueue (linkqueue Q, elemtype x)

{ p=(queueptr*)malloc(sizeof(qnode));

p →data=x;

p →next=NULL;

Q.rear →next =p;

Q.rear =p;

}

链队列的出列算法:status delqueue (linkqueue Q)

{ if (Q.front= =Q.rear)

return NULL; // 队空

p =Q.front →next; // p指向队头元素

Q.front →next= p → next;

// 修改头结点指针域,指向新的队头元素x= p →data;

if (Q.rear= =p) Q.rear=Q.front;

free(p); // 释放被删掉的原队头元素return OK;

}

五.对于给出的数据序列:{12,6,15,9,13,22,7,3,18},请构造其对应的二叉排序树(6分)

六.请简述快速排序的基本思想;并对于下列给定数据:{49,38,65,97,12,76,13,27,36,68},指出使用快速排序后第一趟的结果(10分)

找一个记录,以它的关键字作为“枢轴”,凡其关键字小于枢轴的记录均移动至该记录之前,反之,凡关键字大于枢轴的记录均移动至该记录之后。致使一趟排序之后,记录的无序序列分割成两个子序列,之后分别对分割所得两个子序列“递归”进行快速排序。

快速排序后第一趟的结果:

一躺:[36,38,27,13,12]49[76,97,65,68]

七.哈希表长度为11,数组的存储地址为a[0] 至a[10],哈希函数为H(key)=key MOD 11,使用链地址法解决冲突,请画出对于给定的如下一组关键字{12,51,8,22,26,80,11,16}所得到的哈希表。(10分)

八.

编写一个以二叉链表形式存储的二叉树的后序遍历递归算法。(8分)

void Postorder (BiTree T, void( *visit)(TElemType& e)) // 后序遍历二叉树

{ if (T) {

Postorder(T->lchild, visit); // 遍历左子树 Postorder(T->rchild, visit); // 遍历右子树 visit(T->data); // 访问结点 }

}

九.请根据如图所示的二叉树,回答下列问题:(10分)

1. 该二叉树的深度为3;

2. 该二叉树的叶子节点个数为3; 3. 该二叉树的先序遍历序列为:ABDCEF 4. 将该二叉树转换成森林;(略) 5. 画出该树的中序全线所化示意图。(略)

十.请根据给出的无向图,回答下列问题:(10分)

1. 该图的邻接矩阵表示:(略)

2. 该图的邻接表形式;(略)

3. 该图从节点1 出发的深度优先搜索序列:1,2,4,5,6,3 4. 该图从节点1出发的广度优先搜索序列:1,2,3,4,5,6

十一.对于图示的AOE 网,计算各活动(弧)的 e(ai) 和 l(ai) 值,各事件(顶点)的 ve(vi)

分)

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

数据结构练习试卷1(题后含答案及解析) 题型有:1. 选择题 选择题(每小题1分,共75分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1.数据结构主要研究数据的______。 A.逻辑结构 B.存储结构 C.逻辑结构和存储结构 D.逻辑结构和存储结构及其运算的实现 正确答案:D 解析:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构一般包括三方面的内容:①数据之间的逻辑关系。从逻辑关系上描述数据,与数据的存储无关。②数据的存储结构。存储结构分为顺序结构和链式结构,是逻辑结构在计算机存储器中的表示,它包括数据元素的表示和关系的表示。③数据的运算。也就是在数据上所施加的一系列操作。只考虑操作的功能是怎样的,暂不考虑如何实现。综上所述,本题的正确答案为选项D。知识模块:数据结构 2.在数据结构中,结点(数据元素)及结点间的相互关系组成数据的逻辑结构。按逻辑结构的不同,数据结构通常可分为______两类。 A.线性结构和非线性结构 B.紧凑结构和稀疏结构 C.动态结构和静态结构 D.内部结构和外部结构 正确答案:A 解析:在数据结构中,结点(数据元素)及结点间的相互关系组成数据的逻辑结构。按逻辑结构的不同,数据结构通常可分为线性结构和非线性结构两类。本题正确答案为选项A。知识模块:数据结构 3.下面叙述不正确的是______。 A.算法的执行效率与数据的存储结构有关 B.算法的空间复杂度是指执行这个算法所需要的内存空间 C.算法的有穷性是指算法必须能在执行有限个步骤之后终止 D.算法的时间复杂度是指执行这个算法所需要的时间 正确答案:D 解析:算法的时间复杂度是指执行算法所需要的计算工作量,故D选项不

数据结构考试试题及答案

数据结构考试试题及答案 数据结构考试试题及答案 数据结构是计算机科学中非常重要的一门课程,它涉及到了计算机程序设计中的数据组织、存储和管理等方面。在学习数据结构的过程中,掌握基本的数据结构类型、操作和算法是非常重要的。为了帮助大家更好地掌握数据结构,下面将提供一些常见的数据结构考试试题及答案。 一、选择题 1. 下面哪个不是线性数据结构? A. 数组 B. 链表 C. 栈 D. 队列 答案:D. 队列 2. 下面哪个数据结构可以实现先进先出(FIFO)的操作? A. 栈 B. 队列 C. 链表 D. 树 答案:B. 队列 3. 下面哪个数据结构可以实现后进先出(LIFO)的操作? A. 栈 B. 队列

C. 链表 D. 树 答案:A. 栈 4. 下面哪个数据结构可以实现快速查找和插入操作? A. 数组 B. 链表 C. 栈 D. 队列 答案:A. 数组 5. 下面哪个数据结构可以实现快速查找和删除操作? A. 数组 B. 链表 C. 栈 D. 队列 答案:B. 链表 二、填空题 1. 请写出数组的插入操作的时间复杂度。 答案:O(n) 2. 请写出链表的删除操作的时间复杂度。 答案:O(1) 3. 请写出栈的出栈操作的时间复杂度。 答案:O(1)

4. 请写出队列的入队操作的时间复杂度。 答案:O(1) 5. 请写出二叉搜索树的查找操作的时间复杂度。 答案:O(log n) 三、简答题 1. 什么是数据结构? 答案:数据结构是计算机存储、组织数据的方式,它定义了数据的逻辑结构和存储结构,以及对数据进行操作的算法。 2. 请解释什么是时间复杂度和空间复杂度。 答案:时间复杂度是衡量算法执行时间的度量,它表示算法执行所需的时间与问题规模之间的关系。空间复杂度是衡量算法所需的存储空间的度量,它表示算法所需的存储空间与问题规模之间的关系。 3. 请解释什么是递归算法,并给出一个例子。 答案:递归算法是一种自己调用自己的算法。一个经典的例子是计算斐波那契数列的第n项。代码如下: ``` int fibonacci(int n) { if (n <= 1) { return n; } return fibonacci(n-1) + fibonacci(n-2); }

数据结构试题及答案(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___。 13.下列算法实现在顺序散列表中查找值为x的关键字,请在下划线处填上正确的语句。 struct record{int key;int others;}; int hashsqsearch(struct record hashtable[ ],int k) { int i,j; j=i=k %p; while (hashtable[j]。key!=k&&hashtable[j].flag!=0){j=(____)%m;if (i==j)return(-1);} if (_______________________ )return(j); else return(-1); 二、选择题(每题1分,共20分) 1.设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={〈01,02>,<01,03>,<01,04〉,<02,05〉,<02,06〉,〈03,07>,<03,08〉,〈03,09>},则数据结构A是( B )。 (A) 线性结构(B)树型结构(C) 物理结构(D)图型结构 2.下面程序的时间复杂为(B) for(i=1,s=0;i〈=n;i++){t=1;for(j=1;j〈=i;j++)t=t*j;s=s+t;} (A) O(n) (B) O(n2) (C) O(n3)(D) O(n4) 3.设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为(A )。 (A) q=p—〉next;p-〉data=q->data;p—〉next=q—〉next;free(q); (B) q=p—〉next;q—>data=p-〉data;p-〉next=q->next;free(q);

数据结构试卷一及答案

数据结构试卷一 一、选择题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.二叉树中第ii≥1层上的结点数最多有个; A 2i B 2i C 2i-1 D 2i-1 5.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为 ; A p->next=p->next->next B p=p->next C p=p->next->next D p->next=p 6.设栈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 2 7.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为 ; A 100 B 40 C 55 D 80 8.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为 ; A 3 B 4 C 5 D 1 9.根据二叉树的定义可知二叉树共有种不同的形态; A 4 B 5 C 6 D 7 10.设有以下四种排序方法,则的空间复杂度最大; A 冒泡排序 B 快速排序 C 堆排序 D 希尔排序 二、填空题30分 1.设顺序循环队列Q0:m-1的队头指针和队尾指针分别为F和R,其中队头指针F指向当 前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为F =____________;; 2.设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为 ___________,在链式存储结构上实现顺序查找的平均时间复杂度为___________; 3.设一棵二叉树中有n个结点,则当用二叉链表作为其存储结构时,该二叉链表中共有 ________个指针域,__________个空指针域; 4.设指针变量p指向单链表中结点A,指针变量s指向被插入的结点B,则在结点A的后面 插入结点B的操作序列为______________________________________; 5.设无向图G中有n个顶点和e条边,则其对应的邻接表中有_________个表头结点和 _________个表结点; 6.设无向图G中有n个顶点e条边,所有顶点的度数之和为m,则e和m有______关系;

数据结构期末复习题及答案1

一、是非题 1.数据结构概念包括数据之间的逻辑结构,数据在计算机中的存储方式和数据的运 算三个方面。.......................( T ) 2.线性表的逻辑顺序与物理顺序总是一致的........( F ) 3.线性表中的每个结点最多只有一个前驱和一个后继。......( T ) 4.线性的数据结构可以顺序存储,也可以链接存储。非线性的数据结构只能链接存 储。.......................( F ) 5.栈和队列逻辑上都是线性表。..........................( T ) 6.单链表从任何一个结点出发,都能访问到所有结点........( F ) 7.单链表形式的队列,头指针F指向队列的第一个结点,尾指针R指向队列的最后 一个结点。.................................................( T ) 8.在用单链表表示的链式队列中,队头在链表的链尾位置。....( F ) 9.多维数组是向量的推广。..............................( T ) 10.栈是一种先进先出的线性表。....( F ) 11.凡是递归定义的数据结构都可以用递归算法来实现它的操作。......( T ) 12.设串S的长度为n,则S的子串个数为n(n+1)/2。...........( F ) 13.一般树和二叉树的结点数目都可以为0。................( F ) 14.按中序遍历二叉树时,某结点的直接后继是它的右子树中第1个被访问的结 点。....( T ) 15.后序序列和中序序列能唯一确定一棵二叉树。....( T ) 16.对于一棵具有n个结点,其高度为h的二叉树,进行任—种次序遍历的时间复杂 度为O(n) .............( T ) 17.网络的最小代价生成树是唯一的。...( T ) 18.图的拓扑有序序列不是唯一的。...( T ) 19.进行折半搜索的表必须是顺序存储的有序表。...( T ) 二、单选题 1.算法指的是( D ) A.计算机程序 B.解决问题的计算方法 C.排序算法 D.解决问题的有限运算序列 2.线性表采用链式存储时,结点的存储地址(B ) A.必须是不连续的 B.连续与否均可 C.必须是连续的 D.和头结点的存储地址相连续 3.将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为(C ) A.O(1) B.O(n)C.O(m) D.O(m+n) 4.在一个长度为n的顺序表的表尾插入一个新元素的渐进时间复杂度为( B )。 A.O(n) B.O(1) C.O(n2) D.O(log2n)T 5.线性表L在( B )情况下适用于使用链式结构实现。 A.需经常修改L中的结点值 B.需不断对L进行删除插入 C.L中含有大量的结点 D.L中结点结构复杂 6.设单链表中结点的结构为(data,1ink)。已知指针q所指结点是指针p所指结点 的直接前驱,若在*q与*p之间插入结点*s,则应执行下列哪一个操作?( B ) A.s一>1ink=p一>1ink;p一>1ink=s B.q一>1ink=s;s一>link=p C.p一>link=s一>1ink;s一>1ink=p

(答案)数据结构复习试卷一

《数据结构》答案(试卷1) 一.简述下列术语(14分) 数据类型:是一个值的集合和定义在这个值集上的一组操作的总称。在用高级程序语言编写的程序中,必须对程序中出现的每个变量、常量或表达式,明确说明它们所属的 数据类型。 时间复杂度:假如随着问题规模n 的增长,算法执行时间的增长率和f(n) 的增长率相同,则可记作:T (n) = O(f(n)) ,称T (n) 为算法的(渐近)时间复杂度。 串:是由零个或多个字符组成的有限序列。一般记为s=…a1a2a3…an‟ (n≥0) 其中,s是串名,单引号括起来的字符序列是串的值; 满二叉树:深度为k且含有2 k - 1个结点的二叉树,其特点是每一层上的结点数都是最大结点数。 连通分量:若无向图为非连通图,则图中各个极大连通子图称作此图的连通分量。 顺序文件:记录按其在文件中的逻辑顺序依次进入存储介质而建立的文件,即文件物理结构中记录的排列顺序和文件的逻辑结构中记录的排列顺序一致。 主关键字:用来唯一地标识一个数据元素(或记录)的某个数据项的值,称为主关键字。 二.简答题:线性表的顺序存储结构和链式存储结构各有那些特点?(6分) 顺序存储结构的特点: 表中相邻的两个元素其物理存储位置也相邻。即以元素在计算机内物理位置上的相邻来表示线性表中数据元素之间相邻的逻辑关系。 顺序存储结构的优缺点: ⑴无需为表示数据元素之间的关系而增加额外存储空间,存储密度高; ⑵可以随机存取表中任一元素,它的存储位置可用一个简单直观的公式来表示; ⑶插入和删除运算时,必须移动大量元素,尤其是当线性表的数据元素含有复杂信息时,移动工作量很大,效率较低; ⑷必须预先为线性表分配空间,表容量难以扩充,必须按线性表最大可能长度分配空间。若是线性表长度变化较大时,则使存储空间不能得到充分利用;且有时难以准确估计线性表最大长度,估计过小导致溢出,估计过大又会造成存储空间浪费。 链式存储结构的特点: 数据元素之间的逻辑关系是由结点中的指针来指示的,逻辑上相邻的两元素其物理位置不要求紧邻。链式存储结构的优缺点: ⑴插入和删除运算时,无须移动表中元素的位置,只需修改有关结点的指针内容; ⑵不能随机访问表中元素,访问时间与元素在表中的位置有关; ⑶不需要一块连续的存储空间,只要能存放一个数据元素的空闲结点就可以被利用; ⑷表的规模易扩充。 三.解答题:用堆栈对算术表达式求值:3*(7-2),写出堆栈的操作顺序和过程(6分)

(完整版)数据结构复习题(附答案)

一、算法设计题(每题15分,共60分) 答题要求: ①用自然语言说明所采用算法的思想; ②给出每个算法所需的数据结构定义,并做必要说明; ③写出对应的算法程序,并做必要的注释。 1、有一个带头结点的单链表,每个结点包括两个域,一个是整型域info,另一个是指向下一个结点的指针域next。假设单链表已建立,设计算法删除单链表中所有重复出现的结点,使得info域相等的结点只保留一个。 3、约瑟夫环问题(Josephus问题)是指编号为1、2、…,n的n(n>0)个人按顺时针方向围坐成一圈,现从第s个人开始按顺时针方向报数,数到第m个人出列,然后从出列的下一个人重新开始报数,数到第m的人又出列,…,如此重复直到所有的人全部出列为止。现要求采用循环链表结构设计一个算法,模拟此过程。 4、编程实现单链表的就地逆置。 23.在数组 A[1..n]中有n个数据,试建立一个带有头结点的循环链表,头指针为h,要求链中数据从小到大排列,重复的数据在链中只保存一个. 5、设计一个尽可能的高效算法输出单链表的倒数第K个元素。 3、假设以I和O分别表示入栈和出栈操作。栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序列。(15分) (1)下面所示的序列中哪些是合法的? A. IOIIOIOO B. IOOIOIIO C. IIIOIOIO D. IIIOOIOO (2)通过对(1)的分析,写出一个算法,判定所给的操作序列是否合法。若合法,返回true,否则返回false(假定被判定的操作序列已存入一维数组中)。 5、设从键盘输入一整数的序列:a1, a2, a3,…,an,试编写算法实现:用栈结构存储输入的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。算法应对异常情况(入栈满等)给出相应的信息。 设有一个背包可以放入的物品重量为S,现有n件物品,重量分别为W1,W2,...,W n。问能否从这n件物品中选择若干件放入背包,使得放入的重量之和正好是S。设布尔函数Knap(S,n)表示背包问题的解,W i(i=1,2,...,n)均为正整数,并已顺序存储地在数组W中。请在下列算法的下划线处填空,使其正确求解背包问题。 Knap(S,n) 若S=0 则Knap←true 否则若(S<0)或(S>0且n<1) 则Knap←false 否则若Knap(1) , _=true 则print(W[n]);Knap ←true 否则 Knap←Knap(2) _ , _ 设有一个顺序栈S,元素s1, s2, s3, s4, s5, s6依次进栈,如果6个元素的出栈顺序为s2, s3, s4,

数据结构期末考试复习试题(整理完的)

数据结构期末考试复习试题(整理完的) 数据结构与算法》复题 一、选择题 1.数据结构可以从逻辑上分为线性结构和非线性结构。 2.数据结构在计算机内存中的表示是指数据的存储结构。 3.在数据结构中,与所使用的计算机无关的是数据的逻辑结构。 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储数据元素之间的关系。 5.在决定选取何种存储结构时,一般不考虑各节点的值如何。

6.一些表面上很不相同的数据可以有相同的逻辑结构。 7.算法分析的目的是分析算法的效率以求改进,算法分析的两个主要方面是空间复杂度和时间复杂度。 8.下面程序段的时间复杂度是O(n²)。 s = 0; for (i = 0.i < n。i++) for (j = 0.j < n。j++) s += B[i][j]; sum = s; 9.下面程序段的时间复杂度是O(n*m)。 for (i = 0.i < n。i++) for (j = 0.j < m。j++) A[i][j] = 0; 10.下面程序段的时间复杂度是O(log3n)。

i = 1; while (i <= n) i = i * 3; 11.二维数组是其数据元素为线性表的线性表。 12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致。 13.链表不具备的特点是可随机访问任一结点。 14.不带头结点的单链表head为空的判定条件是head == NULL。 15.带头结点的单链表head为空的判定条件是head->next == NULL。

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

数据结构试题及答案(十套)数据结构试题及答案(十套) 一、选择题 1. 数据结构是指()。 A. 存储数据的方式 B. 数据的逻辑结构和物理结构 C. 数据的存储结构和存储方式 D. 数据的逻辑结构、存储结构和存储方式 答案:D 2. 在数据结构中,线性表的存储方式包括()。 A. 顺序存储和链式存储 B. 数组存储和链表存储 C. 顺序存储、链表存储和索引存储 D. 顺序存储、链表存储和树形存储 答案:A 3. 栈是一种()的数据结构。 A. 先进先出

B. 先进后出 C. 后进先出 D. 后进后出 答案:C 4. 队列是一种()的数据结构。 A. 先进先出 B. 先进后出 C. 后进先出 D. 后进后出 答案:A 5. 二叉树中,度为0的节点称为()。 A. 叶子节点 B. 根节点 C. 中间节点 D. 子节点 答案:A 6. 以下哪个排序算法是稳定的?

A. 快速排序 B. 选择排序 C. 插入排序 D. 希尔排序 答案:C 7. 图中表示顶点之间关系的边的数量称为()。 A. 顶点度数 B. 边数 C. 路径数 D. 网络 答案:B 8. 哈希表通过()来实现高效的查找操作。 A. 散列函数 B. 排序算法 C. 遍历操作 D. 顺序存储 答案:A

9. 平衡二叉树是一种具有左右子树高度差不超过()的二叉树。 A. 0 B. 1 C. 2 D. 3 答案:B 10. 在链表中,删除节点的操作时间复杂度是()。 A. O(1) B. O(logn) C. O(n) D. O(nlogn) 答案:A 二、填空题 1. 在顺序存储结构中,元素之间的逻辑关系由()表示。 答案:下标 2. 二叉查找树的中序遍历结果是一个()序列。 答案:递增 3. 哈希表通过散列函数将关键字映射到()上。

数据结构考试题库含答案

数据结构考试题库含答案 数据结构考试题库含答 案 Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】 数据结构习题集含答案 目录 选择题 第一章绪论 1.数据结构这门学科是针对什么问题而产生的(A ) A、针对非数值计算的程序设计问题 B、针对数值计算的程序设计问题 C、数值计算与非数值计算的问题都针对 D、两者都不针对 2.数据结构这门学科的研究内容下面选项最准确的是(D ) A、研究数据对象和数据之间的关系 B、研究数据对象 C、研究数据对象和数据的操作 D、研究数据对象、数据之间的关系和操作 3.某班级的学生成绩表中查得张三同学的各科成绩记录,其中数据结构考了90分,那 么下面关于数据对象、数据元素、数据项描述正确的是(C ) A、某班级的学生成绩表是数据元素,90分是数据项 B、某班级的学生成绩表是数据对象,90分是数据元素 C、某班级的学生成绩表是数据对象,90分是数据项 D、某班级的学生成绩表是数据元素,90分是数据元素 4.*数据结构是指(A )。 A、数据元素的组织形式 B、数据类型

C、数据存储结构 D、数据定义 5.数据在计算机存储器内表示时,物理地址与逻辑地址不相同,称之为(C )。 A、存储结构 B、逻辑结构 C、链式存储结构 D、顺序存储结构 6.算法分析的目的是(C ) A、找出数据的合理性 B、研究算法中的输入和输出关系 C、分析算法效率以求改进 D、分析算法的易懂性和文档型性 7.算法分析的主要方法(A )。 A、空间复杂度和时间复杂度 B、正确性和简明性 C、可读性和文档性 D、数据复杂性和程序复杂性 8.计算机内部处理的基本单元是(B ) A、数据 B、数据元素 C、数据项 D、数据库 9.数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存 储比顺序存储要(B )。 A、低 B、高 C、相同 D、不好说

数据结构试卷1(含答案)

数据结构试卷1(含答案) 数据结构试卷 一、单项选择题(本大题 共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1 . 下列选项中与数据存储结构无关的术语是() A.顺序表 B.链表 C. 链队列 D.栈 2 . 将两个各有n个元素的有序表归并成一个有序表,最少的比较次数是() A.n-1 B.n C.2n-1 D.2n 3 . 已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear 指向 队尾元素的下一个位置,则向队列中插入新元素时,修改指针的操作是() A.rear=(rear-1)%m; B.front=(front+1)%m; C.front=(front-1)%m; D.rear=(rear+1)%m; 4

. 递归实现或函数调用时,处理参数及返回地址,应采用的数据结构是() A.堆栈 B.多维数组 C. 队列 D. 线性表 5 . 设有两个串p和q,其中q是p的子串,则求q在p中首次出现位置的算法称为()A.求子串 B.串联接 C.串匹配D.求串长6 . 对于广义表A,若head(A)等于tail(A),则表A为() A.() B.(()) C.((),()) D.((),(), ()) 7.若一棵具有n(n>0)个结点的二叉树的先序序列与后序序列正好相反,则该二叉树一 定是() A.结点均无左孩子的二叉树 B.结点均无右孩子的二叉树 C.高度为n的二叉树 D.存在度为2的结点的二叉树 8.若一棵二叉树中度 为l的结点个数是3,度为2 的结点个数是4,则该二叉树叶子结点的个数是() A.4 B.5 C.7 D.8 9. 某算法有3 个程序段,第一程序段的执行次数为错误!未找到

数据结构试题及答案1

数据构造?自考复习考虑题○1 第一部分选择题(30分) 一、单项选择题〔本大题共15小题,每题2分,共30分〕在每题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 1.算法指的是〔D〕 A.计算机程序 B.解决问题的计算方法 C.排序算法 D.解决问题的有限运算序列 2.线性表采用链式存储时,结点的存储地址〔 B 〕 A.必须是不连续的 B.连续与否均可 C.必须是连续的 D.和头结点的存储地址相连续 3.将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为〔 C 〕 A.O〔1〕 B.O〔n〕C.O〔m〕 D.O〔m+n〕4.由两个栈共享一个向量空间的好处是:〔 B 〕 A.减少存取时间,降低下溢发生的机率 B.节省存储空间,降低上溢发生的机率 C.减少存取时间,降低上溢发生的机率 D.节省存储空间,降低下溢发生的机率 5.设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,那么执行出队操作后其头指针front值为〔D〕 A.front=front+1 B.front=(front+1)%(m-1) C.front=(front-1)%m D.front=(front+1)%m 6.如下陈述中正确的选项是〔A〕 A.串是一种特殊的线性表B.串的长度必须大于零 C.串中元素只能是字母D.空串就是空白串 7.假设目的串的长度为n,形式串的长度为[n/3],那么执行形式匹配算法时,在最坏情况下的时间复杂度是〔 C 〕10

A.O〔〕 B.O〔n〕C.O〔n2〕 D.O〔n3〕 8.一个非空广义表的表头〔D〕 A.不可能是子表B.只能是子表 C.只能是原子D.可以是子表或原子 9.假设以带行表的三元组表表示稀疏矩阵,那么和以下行表( A ) 10.在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,那么度为0的结点个数为( C) A.4 B.5 C.6 D.7 11.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( D) A.e B.2e C.n2-e D.n2-2e 12.假设一个有n个顶点和e条弧的有向图用邻接表表示,那么删除与某个顶点vi相关的所有弧的时间复杂度是( C ) 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

《数据结构》-1自考试卷及答案

《数据结构》-1 一、判断题 (每小题1分,共10分) 1、线性表的逻辑顺序与物理顺序总是一致的。( ) 2、线性表只能采用顺序存储结构或者链式存储结构。( ) 3、线性表的顺序存储表示优于链式存储表示。( ) 4、不管堆栈采用何种存储结构,只要堆栈不空,可以任意删除一个元素。( ) 5、线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。( ) 6、已知一棵二叉树的前序序列和后序序列可以唯一地构造出该二叉树。( ) 7、一般树和二叉树的结点数目都可以为0。( ) 8、序列初始为逆序时,冒泡排序法所进行的元素之间的比较次数最多。( ) 9、每种数据结构都应具备三种基本运算:插入、删除和搜索。( ) 10、若某堆栈的输入序列为1,2,3,4,则4,3,1,2不可能是堆栈的输出序列之一。( ) 二、单项选择题 (每小题2分,共20分) 1、算法分析的目的是( ) A.研究算法的输入与输出之间的关系 B.找出数据结构的合理性 C.分析算法的效率以求改进算法 D.分析算法的可读性与可移植性 2、已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列哪一个操作( ) A. s->link = p; p->link = s; B. s->link = p->link; p->link = s; C. s->link = p->link; p = s; D. p->link = s; s->link = p;

3、图的深度优先搜索类似于树的()次序遍历。 A.先根 B.中根 C.后根 D.层次 4、一个栈的输入序列为1,2,3,4,下面哪一个序列不可能是这个栈的输出序列() A. 1,3,2,4 B. 2,3,4,1 C. 4,3,1,2 D. 3,4,2,1 5、若深度为5的完全二叉树的第5层有3个叶结点,则该二叉树一共有( )个结点。 A.15 B.16 C.17 D.18 6、下列排序方法中,哪一种方法的比较次数与纪录的初始排列状态无关() A. 直接插入排序 B. 起泡排序 C. 快速排序 D. 直接选择排序 7、对数据元素序列(49,72,68,13,38,50,97,27)进行排序,前三趟排序结束时的结果依次为:第一趟:13,72,68,49,38 ,50,97,27;第二趟:13,27,68,49,38,50,97,72;第三趟:13,27,38,49,68,50,97,72;该排序采用的方法是( ) A.插入排序法 B.选择排序法 C.冒泡排序法 D.堆积排序法 8、对于循环队列,存储空间大小为n,头指针为F,尾指针为R。则队列中元素的个数为( ) A.R-F B.n+R-F C.(R-F+1)mod n D.(n+R-F)mod n 9、若一棵二叉树具有10个度为2的结点,则该二叉树的度为0的结点个数是() A. 9 B. 11 C. 12 D. 不确定 10、对任何一棵二叉树,若n0,n1,n2分别是度为0,1,2的结点的个数,则n0=( ) A.n1+1 B.n1+n2 C.n2+1 D.2n1+1 三、填空题 (每空2分,共8分) 1、从逻辑结构看,栈是,图是。 2、具有2000个结点的二叉树,其深度至少为_________。 3、在序列(2,5,8,11,15,16,22,24,27,35,40)中采用折半查找(二分查找)方法查找元素24,需要进行_________次元素之间的比较。

(完整版)数据结构试题及答案

数据结构试卷(一)王彬 一、单选题(每题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进制表示。c A.688 B.678 C.692 D.696 5.树最适合用来表示( )。 A.有序数据元素 B.无序数据元素 C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据 6.二叉树的第k层的结点数最多为( d ). A.2k-1 B.2K+1 C.2K-1 D. 2k-1 7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二 分查找,则查找A[3]的比较序列的下标依次为( ) A. 1,2,3 B. 9,5,2,3 C. 9,5,3 D. 9,4,2,3 8.对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.4 10.设有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)),则树中所含的结点数 为__________个,树的深度为_________,树的度为________。 4.后缀算式9 2 3 +- 10 2 / -的值为________。中缀算式(3+4X)-2Y/3对应的后缀算 式为______3 4X* + 2Y* / -_________________________。 5.若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指 针。在这种存储结构中,n个结点的二叉树共有_______个指针域,其中有________个指针域是存放了地址,有______________个指针是空指针。 6.对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点 分别有______个和______个。 7.AOV网是一种___________________的图。 8.在一个具有n个顶点的无向完全图中,包含有_____条边,在一个具有n个顶点的有向 完全图中,包含有_____条边。 9.假定一个线性表为(12,23,74,55,63,40),若按Key % 4条件进行划分,使得同一余数的元 素成为一个子表,则得到的四个子表分别为__________________________、______________、_____________________和_____________________。

《数据结构01》复习题_答案

一选择题(每小题2分,共20分) 1.数据结构中,与所使用的计算机无关的是数据的 ___c___结构; A)存储 B)物理 C)逻辑 D)物理和存储 2.算法分析的目的是:c A)找出数据结构的合理性 B)研究算法中的输入和输出的关系 C)分析算法的效率以求改进 D)分析算法的易懂性和文档性 3.计算机算法必须具备输入.输出和_b______等5个特性. A)可行性、可移植性和可扩充性 B)可行性、确定性和有穷性 C)确定性、有穷性和稳定性D)易懂性、稳定性和安全性 4.一个向量第一个元素的存储地址是100 ,每个元素的长度为2 ,则第5个元素的地址是 ___b____ A)110 B)108 C)100 D)120 5设有两个串p和q ,求q在p中首次出现的位置的运算称作: A) 连接 B)模式匹配 C)求子串 D) 求串长 6 .向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变 ,平均要移动____b___ 个元素 A)8 B)63.5 C)63 D) 7 7设矩阵 A 是一个对称矩阵,为了节省存储,将其下三角部分按行序存放在一维数组B[1,n(n-1)/2]中,对下三角部分中任一元素a (i≤j),在一维数组B中下 i,j 标K的值是:(矩阵是A[1][1]开始)B A)i(i-1)/2+j-1 B)i(i_1)/2+j C)i(i+1)/2+j-1 D) i(i+1)/2+j 8. 二叉树是非线性数据结构,所以__c_____ A) 它不能用顺序存储结构存储 B)它不能用链式存储结构存储C)顺序存储结构和链式存储结构都能存储 D)顺序存储结构和链式存储结构都不能使用 9. 有8个结点的无向连通图最少有 __c_____ 条边(边数=节点-1) A) 5 B) 6 C) 7 D) 8 10. 所有排序方法中, 关键字比较的次数与记录的初始排列次数无关的是___d____ A)希尔 B) 冒泡 C) 插入 D) 选择 二.填空题(每小题2分,共20分) 1. 数据的存储结构可用四种基本的存储方法表示,它们分别是顺序_______、链式_______、索引_______ 和散列_______。 2. 在一个循环队列中,队首指针指向队首元素的前一个_______位置。 3. 向一个长度为n的向量的第i个元素( 1≤i≤n=1)之前插入一个元素时,需向后移动____n-i+1__个元素,删除第i个元素(1≤i≤n)时,需向前移动_n-i_____个元素。 4. 向量、栈和队列都是__线性_____结构,可以在向量的任何_______位置插入和删除元素;对于栈只能在_栈顶______插入和删除元素;对于队列只能在__队尾____插入和_____队头__删除元素。 5. 在动态存储管理中的三种分配策略是首次拟合_______、_最佳拟合______和___最差拟合____。 6. 广义表(((a)))的表头是__((A))_____, 表尾是_____()__。 7. 已知主串s=’ADBADABBAABADABBADADA’,模式串pat=’ADABBAD’。写出模式

全国自学考试数据结构导论试题及答案4套

全国自学考试数据结构导论试题及答案4套第一套试题 一、选择题(每题4分,共40分) 1. 下列哪个数据结构是一种非线性结构? A. 数组 B. 栈 C. 队列 D. 树 2. 下列哪种算法不适用于解决排序问题? A. 冒泡排序 B. 快速排序 C. 深度优先搜索 D. 归并排序 3. 在数据结构中,堆的底层实现通常采用哪种数据结构? A. 数组 B. 栈 C. 链表

D. 队列 4. 下列哪个选项是描述图结构的准确说法? A. 图结构是一种线性结构 B. 图结构由节点和指向节点的边构成 C. 图结构不能存储数据 D. 图结构不支持插入和删除操作 5. 下列哪个排序算法具有最坏时间复杂度为O(nlogn)? A. 冒泡排序 B. 插入排序 C. 选择排序 D. 希尔排序 二、填空题(每题4分,共40分) 1. 在二叉树中,每个节点最多有____个子节点。 2. 图的两个顶点之间的路径长度是指连接这两个顶点所需的____数。 3. 链表是一种____结构。 4. 快速排序算法的核心思想是____。 5. 栈和队列都属于线性结构,其主要区别在于____操作的限制。

三、简答题(每题10分,共30分) 1. 请简要描述栈的特点以及栈的应用场景。 2. 请简要介绍图的基本概念,并说明图的应用领域。 3. 请解释递归算法的原理,并给出一个使用递归算法解决问题的例子。 四、编程题(共30分) 请使用任意编程语言实现一个简单的栈数据结构,并编写测试代码进行验证。 第二套试题 一、选择题(每题4分,共40分) 1. 在二叉搜索树中,中序遍历的结果是____。 A. 升序排列 B. 降序排列 C. 随机排序 D. 不确定的排序 2. 在哈希表结构中,解决冲突问题的常用方法是____。 A. 线性探测 B. 链地址法

数据结构复习题(一)

《数据结构》复习题(一) 一、判断题(下列各题,你认为正确的,请在前面的括号内打√,错误的打×。每题1分,共10分) ()1. 数据的存贮结构是数据的逻辑结构的存贮映象。 ()2. 用顺序表来存储线性表时,不需要另外开辟空间来保存数据元素之间的相互关系。 ()3.非线性结构中,至少存在一个元素不止一个直接前趋或不止一个直接后继。 ()4. 树的最大特点是层次结构。 ()5. 队列的特点是先进先出。 ()6. 图的最小生成树是唯一的。 ()7. 线性表是广义表的特殊形式。 ()8. 后序序列和中序序列能唯一确定一棵二叉树。 ()9. 散列表是一种链式存贮结构。 ()10. 快速排序并非在任何情况下都比其它排序方法速度快。 二、填空题(每空2分,共20分) 1.数据的存贮结构的四种形式为存贮、存贮、存贮和存贮。 2.所有插入和删除都在表的一端进行的线性表称为。 3.n个结点的完全二叉树,其深度h=。 4.对于顺序循环队列Q[M],下标从0到M-1,头尾指针分别为F和R,入队时,队尾指针循环加1可表示为R=。 5.散列法既是一种查找方法,又是一种方法。 6.n个顶点的有向完全图具有条弧。 7.n个元素的顺序查找的平均查找长度为。 三、单选题(本题的每一备选答案中,只有一个是正确的,请把你认为正确的答案的题号填入题干的括号内,多选不给分,每小题3分,共15分)。 1.若进栈序列为1,2,3,4,则不可能得到的出栈序列是()(1)3,2,1,4 (2)3,2,4,1 (3)4,2,3,1 (4) 2,3,4,1 2.对于下列二叉树,其后序序列为() (1)ABDECFG (2)DBEAFCG (3)DEBFGCA (4)GFCEBDA 3.对于下列AOV网,不能出现的拓扑序列为() (1)1 2 3 4 5 (2)1 2 4 3 5 (3)2 4 1 3 5 (4)2 1 4 3 5

相关主题
相关文档
最新文档