数据结构复习题.docx
- 文档编号:30109964
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:35
- 大小:189.04KB
数据结构复习题.docx
《数据结构复习题.docx》由会员分享,可在线阅读,更多相关《数据结构复习题.docx(35页珍藏版)》请在冰豆网上搜索。
数据结构复习题
数据结构习题
一、 名词解释
1. 数据、数据元素、数据项、数据结构、数据的逻辑结构、数据物理结构、顺序存储、链式存储、算法、时间复杂度、空间复杂度。
2. 线性表、顺序表、单链表、双向链表、循环链表、双向循环链表、三个概念的区别:
头指针、头结点、首元结点(第1个元素结点 )。
3. 栈(顺序栈、链栈)、队列(顺序队、链队)、循环队列、递归、稀疏矩阵、三元组。
4. 树、叶子结点、结点的度、树的度、树的高(深)度、二叉树、遍历、满二叉树、完全二叉树、哈夫曼树、WPL、哈夫曼编码。
5. 图(有向、无向)、网、边、弧、度、入度、出度、完全图(有向、无向)、(强)连通图(分量)、(最小)生成树、邻接矩阵、邻接表、DFS、BFS、Pirm、kruscal、最短路径(Dijkstra)、拓扑排序。
6.查找表、关键字、静态查找、动态查找、 ASL、顺序查找、折半查找、分块查找、二叉排序树、哈希表、哈希函数、冲突处理(开放定址、链地址)哈希查找。
7、排序、内(外)排序、稳定性、插入(直接、希尔),交换(起泡、快速),选择(直接、堆),2路归并、链式基数排序。
一、填空题
1.数据结构是研究数据的__________和__________,并在这种结构上定义相关的运算,设计实现这些运算的算法,分析算法的效率。
算法的效率包括时间和空间两个方面,分别称为__________和__________。
2.
学号
数据的基本单位是_______,数据的最小单位是_______。
3.算法是对特定问题求解____________的一种描述,是指令的有限序列。
4.一个算法的时间复杂度为(3n3+2n—7),其数量级表示为_。
5.一个算法具有5个特性:
、、、输入和输出。
6.算法性能的分析和度量,可以从算法的和来评价算法的优劣。
学号
7.数据的逻辑结构包括集合结构、、和四种类型。
8.数据结构在计算机中的表示称为数据的,它可以采用_____________或_____________两种存储方法。
9.线性表有两种存储结构,分别为和。
10.链式存储的特点是利用来表示数据元素之间的逻辑关系。
11.
姓名
若频繁地对线性表进行插入和删除操作,该线性表宜采用________存储结构。
12.线性表中的数据元素之间具有的线性关系,除第一个和最后一个元素外,其他数据元素有且只有直接后继和直接前趋。
13.在一个单链表中p所指结点之后插入一个s所指结点时,应执行s->next=________和p->next=________的操作。
14.在一个单链表中删除p的后继结点q时,应执行以下操作p->next=。
15.对带头结点head的单链表,则判断其为空的条件为。
16.对带头结点head的循环单链表尾结点(由p所指向)判非空的条件为。
17.在栈结构中,允许插入的一端称为;在队列结构中,允许插入的一端称为。
18.队列中元素的入队和出队应遵循______原则,数据元素1,2,3,4,5按照次序入队后,第一个出队的是______。
19.在循环队列中,存储空间为0~n-1。
设队头指针front指向队头元素前一个空闲元素,队尾指针指向队尾元素,那么其队空标志为rear=front,队满标志为。
20.设顺序表有19个元素,第一个元素的地址为200,且每个元素占3个字节,则第14个元素的存储地址为。
21.在一个长度为n的顺序表中删除第i个元素(1≤i≤n),需向前移动个元素。
22.在一个长度为n的顺序表中第i个元素前(1≤i≤n),插入一个元素,需向后移动个元素。
23.若线性表采用顺序存储结构,线性表的最大长度为1000,每个数据元素占3个存储单元,则要分配给该线性表__________存储单元,若第一个数据元素的存储地址是2000,则第11个元素的存储地址是__________。
24.二维数组有两种存储方式,第一种是以_____为主序的存储方式,第二种是以_____为主序的存储方式。
现有一个二维数组A[6][7],按第一种方式存储,A[0][0]的存储地址是1000,每个元素占5个字节,则元素A[3][5]的存储地址是______。
25.现有一个二维数组A[6][8],按第一种方式存储,A[0][0]的存储地址是2000,每个元素占2个字节,若以行序为主序顺序存储,则元素A[3][5]的存储地址是______。
若以列序为主序顺序存储,则元素A[3][5]的存储地址是______。
26.两个串相等的充分必要条件是:
________________且__________________。
27.不含任何字符的串称为其长度为。
28.对于稀疏矩阵的压缩存储,通常用一个三元组表示非零元素的信息,其中包括非零元素所在的、以及它的值。
29.若二叉树中有20个叶子结点,则该二叉树有个度为2的结点。
30.若二叉树中度为2的结点有15个,则该二叉树有__________个叶子结点。
31.深度为h且有_______________个结点的二叉树称为满二叉树。
32.深度为k的二叉树最多有个结点,最少有个结点,第i层上最多有_____个结点。
33.深度为5的满二叉树共有个结点,其中有_______个叶子节点。
34.若深度为6的完全二叉树的第6层有3个叶结点,则该二叉树一共有个结点。
35.深度为15的满二叉树上,第11层有个结点。
36.一棵具有100个结点的完全二叉树,它的深度为,其中度为1的结点有个。
37.某二叉树的后根遍历序列为abd,中根遍历序列为adb,则它的先根遍历序列为。
38.哈夫曼树是指对于一组带有确定权值的叶子结点构造的具有的二叉树。
39.具有m个叶子结点的哈夫曼树共有个结点。
40.已知一棵哈夫曼树含有60个叶子结点,则该树中共有个非叶子结点。
41.在一个具有n个顶点无向完全图中,含有边;在一个具有n个顶点有向完全图中,含有边。
一个具有4个顶点的无向完全图有条边。
42.具有n个顶点的连通图至少需有条边。
43.一个连通图的生成树是该图的连通子图。
若这个连通图有n个顶点,则它的生成树有条边。
44.在有向图的邻接矩阵中,第i行中非零元素的个数正好是第i个顶点的;第i列中非零元素的个数正好是第i个顶点的。
45.在一个图中,所有顶点的度数之和等于所有边数的倍。
46.在无向图G的邻接矩阵A中,若A[i][j]等于1,则A[j][i]等于。
47.设连通图G有n个顶点,则G的生成树一定有边。
48.可以进行拓扑排序的有向图一定是;在拓扑排序序列中第一个顶点一定是的顶点。
49.Dijkstra算法是按的次序产生从一个顶点到其余各顶点最短路径的算法。
50.对二叉排序树进行遍历,可以得到按关键字从小到大排列的结点序列。
51.一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当折半查找值为82的结点时,经过次比较后查找成功。
52.在线性表中采用折半查找法查找一个数据元素,线性表中元素应该按值有序,并且采用______________存储方法。
53.若关键码序列为(18,25,63,50,42,32,9),哈希函数为H(key)=keyMOD9,与18发生冲突的元素有________个。
54.在简单选择排序、堆排序、快速排列、归并排序四种排序方法中,排序方法稳定的是_________。
55.冒泡排序是一种稳定的排序方法,对n个元素的序列进行冒泡排序时,最多需进行趟。
该排序方法的时间复杂度为。
56.给定序列{100,86,48,73,35,39,42,57,66,21},按堆的定义,则它一定堆。
57.快速排序在平均情况下的时间复杂度为________________,在最环情况下的时间复杂度为______________。
二、单选题
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.某程序的时间复杂度为(3n+nlog2n+n2+8),其数量级表示为()。
A.O(n)B.O(nlog2n)C.O(n2)D.O(log2n)
7.for(i=0;i for(j=0;j A[i][j]=i*j; 上述程序段的时间复杂度为() A.O(n2)B.O(n)C.O(2n)D.O (1) 8.设顺序表有9个元素,则在第3个元素前插入一个元素所需移动元素的个数为() A.5B.6C.7D.9 9.线性表采用链式存储结构时,要求内存中可用存储单元的地址() A.必须是连续的B.必须是部分连续的 C.一定是不连续的D.连续和不连续都可以 10.线性表是具有相同数据类型的n个__________的有限序列。 A.数据项B.数据元素C.表元素D.字符 11.在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是____。 A.O (1)B.O(n)C.O(n2)D.O(nlog2n) 12.二维数组A[8][9]按行优先顺序存储,若每个元素各占2个存储单元,且数组元素A[0][0]的存储地址为1000,则数组元素A[5][7]的存储地址为( ) A.1207B.1104C.1211D.1084 13.在长度为n的顺序表中删除第i个元素(1≤i≤n)时,元素移动的次数为() A.n-i+1B.iC.i+1D.n-i 14.若带头结点的单链表的头指针为head,则该链表为空的判定条件是() A.head==NULLB.head->next==NULL C.head! =NULLD.head->next==head 15.在单链表中,指针p指向值为x的结点,能实现“删除x的后继”的语句是__________。 A.p=p->next;B.p=p->next->next; C.p->next=p;D.p->next=p->next->next; 16.假设带头结点的单向循环链表的头指针为head,则该链表为空的判定条件是( )。 A.head==NULLB.head–>next==NULL C.head! =NULLD.head–>next==head 17.若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用( )存储方式最节省时间。 A.单链表 B.双链表 C.单向循环 D.顺序表 18.队列的插入操作是在()进行。 A.队首B.队尾C.队前D.对后 19.队列的删除操作是在()进行。 A.队首B.队尾C.队前D.对后 20.当利用大小为N的数组顺序存储一个栈时,假定用top==N表示栈空,则退栈时,用()语句修改top指针。 A.top++;B.top=0;C.top--;D.top=N; 21.由权值分别为3,6,7,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()。 A.51B.23C.53D.74 22.在一棵二叉树中,第4层上的结点数最多为()。 A.31B.8C.15D.16 23.从一个顺序队列删除元素时,首先要( )。 A.前移一位队首指针B.后移一位队首指针 C.取出队首指针所指位置上的元素D.取出队尾指针所指位置上的元素 24.已知栈的最大容量为4。 若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( ). A.5,4,3,2,1,6B.2,3,5,6,1,4 C.3,2,5,4,1,6D.1,4,6,5,2,3 25.设数组Data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为( ). A.front=front+1 B.front=(front+1)%m C.rear=(rear+1)%m D.front=(front+1)%(m+1) 16.一个栈的入栈序列是a,b,c,d,e,则栈的输出序列不可能是() A.dceabB.decbaC.edcbaD.abcde 17.若进栈序列为a,b,c,进栈过程中允许出栈,则以下_____是不可能得到的出栈序列。 A.a,b,cB.b,a,cC.c,a,bD.c,b,a 18.若进栈序列为1,2,3,4,进栈过程中允许出栈,则可能的出栈序列是_____。 A.2,4,1,3B.3,1,4,2 C.3,4,1,2D.1,2,3,4 19.设有一个栈,按A、B、C、D的顺序进栈,则可能为出栈序列的是() A.DCBAB.CDABC.DBACD.DCAB 20.一个队列的入队序列是1,2,3,4,则队列的输出序列是() A.4,3,2,1B.1,2,3,4C.1,4,3,2D.3,2,4,1 21.一个最多能容纳m个元素的顺序存储循环队列Q,其头尾指针分别为front和rear,则判定该队列为满的条件是__________ A.(Q.rear+1)%m==Q.frontB.Q.front==Q.rear C.Q.rear+1==Q.frontD.(Q.front+1)%m==Q.rear 22.假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front和rear。 若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为() A.(rear-front-1)%nB.(rear-front)%n C.(front-rear+1)%nD.(rear-front+n)%n 23.数组A[0..5][0..5]的每个元素占5个字节,将其以列为主序存储在起始地址为1000的内存单元中,则元素A[5][5]的地址是( ) A.1175B.1180C.1205D.1210 24.两个字符串相等的条件是() A.串的长度相等B.含有相同的字符集 C.都是非空串D.串的长度相等且对应的字符相同 25.如下陈述中正确的是______。 A.串是一种特殊的线性表 B.串的长度必须大于零 C.串中元素只能是字母 D.空串就是空格串 设串sl=″DataStructureswith″,s2=″it″,则子串定位函数index的值为( )。 A.15B.16C.17D.18 一棵深度为6的二叉树至多有( )个结点。 A.64 B.32 C.31 D.63 10.将含100个结点的完全二叉树从根这一层开始,每层上从左到右依次对结点编号,根结点的编号为1,编号为49的结点X的双亲编号为( )。 A.24 B.25 C.23 D.无法确定 11.树的后根遍历与其转换的相应二叉树的( )遍历的结果序列相同。 A.先序 B.中序 C.后序 D.层次遍历 26.一棵含18个结点的二叉树的高度至少为_______。 A.3B.4C.5D.6 27.将一棵有40个结点的完全二叉树从上到下,从左到右依次对结点进行编号,根结点的编号为1,则编号为15的结点的左孩子的编号为_______。 A.16 B.30C.31 D.32 28.在程序的执行过程中,对实现函数的递归调用应该借助于_______结构。 A.线性表B.栈C.队列D.树 29.具有100个结点的完全二叉树的深度为__________。 A.6B.7C.8D.9 30.已知二叉树的先序遍历序列为ABDECF,中序遍历序列为DBEAFC,则后序遍历序列为_______。 A.DEBAFCB.DEFBCAC.DEBCFAD.DEBFCA 31.如果在数据结构中每个数据元素只可能有一个直接前驱,但可以有多个直接后继,则该结构是() A.栈B.队列C.树D.图 32.已知一棵含50个结点的二叉树中只有一个叶子结点,则该树中度为1的结点个数为() A.0B.1C.48D.49 33.具有100个结点的完全二叉树,其中含有__________个度为1的结点。 A.1B.0C.2D.不确定 34.已知二叉树的先序遍历序列为ABCD,中序遍历序列为BCDA,则后序遍历序列为_______。 A.ABCDB.BCDAC.CDBAD.DCBA 35.对一棵有100个结点的完全二叉树按层序编号,则编号为49的结点,它的左孩子的编号为() A.99B.98C.97D.50 36.有m个叶子结点的哈夫曼树,其结点总数是() A.2m-1B.2mC.2m+1D.2(m+1) 由权值分别为3,6,7,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()。 A.74B.23C.51D.53 37.无向图的邻接矩阵是一个_______。 A.对称矩阵 B.零矩阵 C.上三角矩阵 D.对角矩阵 38.为便于判别有向图中是否存在回路,可借助于() A.广度优先搜索算法B.最小生成树算法 C.最短路径算法D.拓扑排序算法 12.在有向图的邻接表存储表示中,顶点V在链表结点中出现的次数是( )。 A.顶点V的入度 B.顶点V的出度 C.顶点V的度 D.依附于顶点V的边的数目 39.12.连通网的最小生成树是其所有生成树中() A.顶点集最小的生成树B.边集最小的生成树 C.顶点权值之和最小的生成树D.边的权值之和最小的生成树 40.若用邻接矩阵表示一个有向图,则其中每一列包含的″1″的个数为( ) A.图中每个顶点的入度B.图中每个顶点的出度 C.图中弧的条数D.图中连通分量的数目 41.邻接矩阵为对称矩阵的图是() A.有向图B.带权有向图C.有向图或无向图D.无向图 42.在一个具有n个顶点的无向图中,要连通全部顶点至少需要的边数为() A.n/2B.nC.n-1D.n+1 43.下图为AOV网,其可能的拓扑有序序列为() A.ABCDEF B.ABCEDF C.ABCEFD D.ABCDFE 13.下列四组含A~G的结点序列中,哪一组是下列有向图的拓扑序列( )。 A.A,B,C,D,E,F,G B.A,B,C,G,F,E,D C.A,F,B,G,E,C,D D.E,D,F,A,B,C,G 44.下面的序列中________是大根堆。 A.1,2,8,5,3,9,10,4B.1,5,10,6,7,8,9,2 C.9,8,7,6,4,8,2,1D.9,8,7,6,5,4,3,1 45.一组记录的关键码为(46,79,56,38,40,84),则利用快速排序方法,以第一个记录为基准得到的一次划分结果为________。 A.38,40,46,56,79,84 B.40,38,46,79,56,84 C.40,38,46,56,79,84 D.40,38,46,84,56,79 46.对关键字序列(5,1,4,3,7,2,8,6)进行快速排序时,以第一个元素5为基准的一次划分的结果为( ) A.(1,2,3,4,5,6,7,8)B.(1,4,3,2,5,7,8,6) C.(2,1,4,3,5,7,8,6)D.(8,7,6,5,4,3,2,1) 47.使用折半查找,线性表必须_______。 A.以顺序方式存储 B.以顺序方式存储,且元素已按值排好序 C.以链式方式存储 D.以链式方式存储,且元素已按值排好序 48.已知8个元素(34,76,45,18,26,54,92,65),按照依次插入结点的方法生成一棵二叉排序树,则该树的深度为() A.4B.5C.6D.7 49.若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在折半查找关键字b的过程中,先后进行比较的关键字依次为( ) A.f,c,bB.f,d,bC.g,c,bD.g,d,b 50.在对查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到集合中。 这种方式主要适合于() A.静态查找表B.动态查找表 C.静态查找表与动态查找表D.静态查找表或动态查找表 51.有一个有序表为: (2,5,8,11,15,16,22,24,27,35,50)当折半查找值为24的结点时,经过_____次比较后查找成功。 A.1B.2C.3D.4 52.有一个有序表为: (21,32,41,45,62,75,77,82,95),当折半查找值为82的结点时,经过_____次比较后查找成功。 A.1B.2C.4D.3 13.在一棵二叉排序树中,若左子树不空,左子树上所有结点的值均()根结点的值。 A.大于B.小于C.不小于D.大于等于 14.对于哈希函数H(key)=key%13,被称为同义词的关键字是()。 A.35和41B.23和39C.15和44D.25和51 14.折半查找有序表{6,15,30,37,65,70,72,89,99},若要查找元素37,需要依次与表中元素__________进行比较。 A.65,15,37B.68,30,37C.65,15,30D.65,15,30,37 15.下列排序方法中,稳定的排序方法为( )。 A.希尔排序B.堆排序C.快速排序D.直接插入排序 53.下面排序算法的时间复杂度最小的是____
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 复习题