数据结构考试复习题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(C)L中含有大量的结点(D)L中结点结构复杂
9.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为
A.iB.n=iC.n-i+1D.不确定
10、在一个长度为n的顺序存储的线性表中,删除第i个元素(1≤i≤n)时,需要从前向后依次前移动个元素。
An-iB n-i+1
37、若一个算法中的语句频度之和为T(n)=3720n+4nlogn,则算法的时间复杂度为_______。
二、判断题
()1.队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。
()2.满二叉树中所有结点个数是2k-1-1,其中k是树的深度。
()3.栈和队列的存储方式既可是顺序方式,也可是链接方式。
19、从一棵二叉排序树中查找一个元素时,若元素的值等于根结点的值,则表明,若元素的值小于根结点的值,则继续向查找,若元素的大于根结点的值,则向查找。
20、当向一个小顶堆插入一个具有最小值的元素时,该元素需要逐层调整,直到被调整到位置为止。
21、对于一个具有n个顶点的图,若采用邻接炬阵表示,则矩阵大小为。
A O(1)B O(n)
C O(1og2n)D O(nlog2n)
14、若需要利用形参直接访问实参,则应把形参变量说明为参数。
A.指针B.引用C.值
15.数据元素及其关系在计算机存储器内的表示,称为数据的( )
A.逻辑结构 B.存储结构 C.线性结构 D.非线性结构
16.某带头结点的单链表的头指针为head,判定该链表为非空的条件是( )
11、散列法存储的基本思想是由决定数据的存储地址。
12、在线性结构、树结构和图结构中,前驱和后继结点之间分别存在着、
和的联系。
13、在线性表的单链表存储中,若一个元素所在结点的地址为p,则其后继结点的地址为,若假定p为一个数组a中的下标,则其后继结点的下标的。
14、在初始化一个稀疏矩阵的函数定义中,矩阵形参应说明为参数。
34、在含n个顶点的连通图中,任意两个不同顶点之间的一条简单路径最多包含______条边。
35、对关键字序列(50,34,92,19,11,68,56,41,79)进行直接插入排序,当将第7个关键字56插入到当前的有序子表中时,为寻找插入位置需进行______次关键字之间的比较。
36、对有序表进行二分查找的过程可用判定树来描述,其判定树的形态只取决于______。
2.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是
(A)110(B)108(C)100(D)120
3.在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:
(A)访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
(B)在第i个结点后插入一个新结点(1≤i≤n)
6、向栈中压入元素的操作是先,后。
7、称为空串;称为空格串。
8、假设有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字节编址。已知A的起始存储位置(基地址)为1000,则数组A的体积(存储量)为;末尾元素A57的第一个字节地址为;若按行存储时,元素A14的第一个字节地址为;若按列存储时,元素A47的第一个字节地址为。
A.顺序存储结构B.链式存储结构C.索引存储结构D.散列存储结构
四、简答题
1、已知如图所示的有向图,请给出该图的:
(1) 每个顶点的入/出度;
(2)邻接矩阵;
(3)邻接表;
(4)逆邻接表。
2、假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。试为这8个字母设计哈夫曼编码。使用0~7的二进制表示形式是另一种编码方案。对于上述实例,比较两种方案的优缺点。
A.4 5 3 1 2B.4 2 5 31C.4 5 2 1 3D.4 2 3 1 5
28.ALV树是一种平衡的二叉排序树,树中任一结点的( )
A.左、右子树的高度均相同
B.左、右子树高度差的绝对值不超过1
C.左子树的高度均大于右子树的高度
D.左子树的高度均小于右子树的高度
29.若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为( )
A.(rear-front)%m= =1 B.front= =rear
C.(rear-front)%m= =m-1 D.front= =(rear+1)%m
19.假设S=″I AM A STUDENT″,则运算substr(S,4,8)的结果为( )
A.″M A S″ B.″M A STUD″ C.″A STUDEN″ D.″STUD″
9、设一棵完全二叉树具有1000个结点,则此完全二叉树有个叶子结点,有个度为2的结点,有个结点只有非空左子树,有个结点只有非空右子树。
10、线性有序表(a1,a2,a3,…,a256)是从小到大排列的,对一个给定的值k,用二分法检索表中与k相等的元素,在查找不成功的情况下,最多需要检索次。设有100个结点,用二分法查找时,最大比较次数是。
A.a d b e f cB.a d c e f bC.a d c b f eD.a d e fbc
26.一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( )。
A、2 3 4 1 5B、5 4 1 3 2C、2 3 1 4 5D、1 5 4 3 2
27.不可能生成右图所示二叉排序树的关键字序列是( )
(C)删除第i个结点(1≤i≤n)
(D)将n个结点从小到大排序
4.向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动个元素
(A)8(B)63.5(C)63(D)7
5.判定一个队列QU(最多元素为m0)为空队列的条件是
A.QU->rear-QU->front = = m0B.QU->rear-QU->front-1= = m0C.QU->front = = QU->rearD.QU->front = = QU->rear+1
22、对于一个具有n个顶点和e条边的连通图,其生成树中的顶点数和边数分别为和。
23、从有序表(12,18,30,43,56,78,82,95)中依次二分查找43和56元素时,其查找长度分别为和。
24、每次从无序中表示顺序取出一个元素,把插入到有序表中的适当位置,此种排序方法叫做__________排序,每次从无序中表中挑选出一个最小或最大元素,把它交换到有序表的一端,此种排序方法叫做___________排序。
( )4.二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。
( )5.对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i-1个结点。
()6.链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动将后续各个单元向前移动。
( )7.用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。
C n-i-1 Ci
11、由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为_________
A、24 B、48C、72 D、53
12、假定一个顺序队列的队首和队尾指针分别为f和r,则判断队空的条件为。
A f+1= =r B r+1= =f
C f= =0 D f= =r
13、从堆中删除一个元素的时间复杂度为。
15、栈又称为表,队列又称为表。
16、后缀表达式“4 5+3*2 4+ *”的值为。
17、一棵深度为5的满二叉树中的结点数为个,一棵深度为3的满四叉树中的结点数为个。
18、对关键字序列(50,34,92,19,11,68,56,41,79)进行直接插入排序,当将第7个关键字56插入到当前的有序子表中时,为寻找插入位置需进行_________次关键字之间的比较。
一、填空题
1、数据结构被形式地定义为(D, R),其中D是的有限集合,R是D上的有限集合。
2、一个算法的效率可分为复杂性和复杂性。
3、向一个长度为n的线性表的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动________个元素。
4、在一个循环队列中,队首指针指向队首元素的位置。
5、在具有n个单元的循环队列中,队满时共有个元素。
25、若一个算法中的语句频度之和为T(n)=3720n+4nlogn,则算法的时间复杂度为。
26、在一棵二叉排序树中,每个分支点的左子树上所有结点的值一定______该结点的值,右子树上所有结点的值一定_____________该结点的值。
27、在归并排序中,进行每趟归并的时间复杂度为,整个排序过程的时间复杂度为,空间复杂度为。
3、线性表具有两种存储方式,即顺序方式和链接方式。现有一个具有五个元素的线性表L={23,17,47,05,31},若它以链接方式存储在下列100~119号地址空间中,每个结点由数据(占2个字节)和指针(占2个字节)组成,如下所示(其中U、X、V、Y、Z为相应结点指针域的指针):
A.head==NULL B.head->next==NULL C.head!=NULL D.head->next!=NULL
17.导致栈上溢的操作是( )
A.栈满时执行的出栈 B.栈满时执行的入栈
C.栈空时执行的出栈 D.栈空时执行的入栈
18.设数组A[m]为循环队列Q的存储空间,front为队头指针,rear为队尾指针,则判定Q为空队列的条件是( )
23.在待排关键字序列基本有序的前提下,效率最高的排序方法是( )
A.直接插入排序 B.快速排序 C.直接选择排序 D.归并排序
24.下列排序算法中,()算法可能会出现下面情况:初始数据有序时,花费的时间反而最多。
A、堆排序 B、冒泡排序 C、快速排序 D、SHELL排序
25.已知一个有向图如右所示,则从顶点a出发进行深度优先偏历,不可能得到的DFS序列为( )
( )8.具有12个结点的完全二叉树有5个度为2的结点。
()9.线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻。
()10.顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。
三、单项选择题
1.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为:
(A)存储结构(B)逻辑结构(C)顺序存储结构(D)链式存储结构
28、在如图所示的链表中,若在指针p所指的结点之后插入数据域值相继为a和b的两个结点,则可用下列两个语句实现该操作,它们依次是______和__________________。
29、在一个长度为n的循环链表中,删除其元素值为x的结点的时间复杂度(考虑等概率 )为______。
30、已知指针p指向某单链表中的一个结点,则判别该结点有且仅有一个后继结点的条件是______。
31、如果入栈序列是1,3,5,…,97,99,且出栈序列的第一个元素为99,则出栈序列中第30个元素为______。
32、假设以行优先顺序存储三维数组A[5][6][7],其中元素A[0][0][0]的地址为1100,且每个元素占2个存储单元,则A[4][5][6]的地址是______。
33、已知一棵二叉树的先序序列为ABCD,中序序列为BCAD,则它的后序序列为______。
6.链表是一种采用存储结构存储的线性表;
(A)顺序(B)链式(C)星式(D)网状
7.线性表若采用链式存储结构时,要求内存中可用存储单元的地ห้องสมุดไป่ตู้:
(A)必须是连续的(B)部分地址必须是连续的
(C)一定是不连续的(D)连续或不连续都可以
8.线性表L在情况下适用于使用链式结构实现。
(A)需经常修改L中的结点值(B)需不断对L进行删除插入
C.都连通的有向图 D.都不连通的有向图
22.对记录序列(314,298,508,123,486,145)依次按个位和十位进行两趟基数排序之后所得结果为( )
A.123,145,298,314,486,508 B.508,314,123,145,486,298
C.486,314,123,145,508,298 D.298,123,508,486,145,314
20.假设一棵完全二叉树按层次遍历的顺序依次存放在数组BT[m]中,其中根结点存放在BT[0],若BT[i]中的结点有左孩子,则左孩子存放在( )
A.BT[i/2] B.BT[2*i-1] C.BT[2*i] D.BT[2*i+1]
21.连通图是指图中任意两个顶点之间( )
A.都连通的无向图 B.都不连通的无向图
9.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为
A.iB.n=iC.n-i+1D.不确定
10、在一个长度为n的顺序存储的线性表中,删除第i个元素(1≤i≤n)时,需要从前向后依次前移动个元素。
An-iB n-i+1
37、若一个算法中的语句频度之和为T(n)=3720n+4nlogn,则算法的时间复杂度为_______。
二、判断题
()1.队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。
()2.满二叉树中所有结点个数是2k-1-1,其中k是树的深度。
()3.栈和队列的存储方式既可是顺序方式,也可是链接方式。
19、从一棵二叉排序树中查找一个元素时,若元素的值等于根结点的值,则表明,若元素的值小于根结点的值,则继续向查找,若元素的大于根结点的值,则向查找。
20、当向一个小顶堆插入一个具有最小值的元素时,该元素需要逐层调整,直到被调整到位置为止。
21、对于一个具有n个顶点的图,若采用邻接炬阵表示,则矩阵大小为。
A O(1)B O(n)
C O(1og2n)D O(nlog2n)
14、若需要利用形参直接访问实参,则应把形参变量说明为参数。
A.指针B.引用C.值
15.数据元素及其关系在计算机存储器内的表示,称为数据的( )
A.逻辑结构 B.存储结构 C.线性结构 D.非线性结构
16.某带头结点的单链表的头指针为head,判定该链表为非空的条件是( )
11、散列法存储的基本思想是由决定数据的存储地址。
12、在线性结构、树结构和图结构中,前驱和后继结点之间分别存在着、
和的联系。
13、在线性表的单链表存储中,若一个元素所在结点的地址为p,则其后继结点的地址为,若假定p为一个数组a中的下标,则其后继结点的下标的。
14、在初始化一个稀疏矩阵的函数定义中,矩阵形参应说明为参数。
34、在含n个顶点的连通图中,任意两个不同顶点之间的一条简单路径最多包含______条边。
35、对关键字序列(50,34,92,19,11,68,56,41,79)进行直接插入排序,当将第7个关键字56插入到当前的有序子表中时,为寻找插入位置需进行______次关键字之间的比较。
36、对有序表进行二分查找的过程可用判定树来描述,其判定树的形态只取决于______。
2.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是
(A)110(B)108(C)100(D)120
3.在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:
(A)访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
(B)在第i个结点后插入一个新结点(1≤i≤n)
6、向栈中压入元素的操作是先,后。
7、称为空串;称为空格串。
8、假设有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字节编址。已知A的起始存储位置(基地址)为1000,则数组A的体积(存储量)为;末尾元素A57的第一个字节地址为;若按行存储时,元素A14的第一个字节地址为;若按列存储时,元素A47的第一个字节地址为。
A.顺序存储结构B.链式存储结构C.索引存储结构D.散列存储结构
四、简答题
1、已知如图所示的有向图,请给出该图的:
(1) 每个顶点的入/出度;
(2)邻接矩阵;
(3)邻接表;
(4)逆邻接表。
2、假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。试为这8个字母设计哈夫曼编码。使用0~7的二进制表示形式是另一种编码方案。对于上述实例,比较两种方案的优缺点。
A.4 5 3 1 2B.4 2 5 31C.4 5 2 1 3D.4 2 3 1 5
28.ALV树是一种平衡的二叉排序树,树中任一结点的( )
A.左、右子树的高度均相同
B.左、右子树高度差的绝对值不超过1
C.左子树的高度均大于右子树的高度
D.左子树的高度均小于右子树的高度
29.若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为( )
A.(rear-front)%m= =1 B.front= =rear
C.(rear-front)%m= =m-1 D.front= =(rear+1)%m
19.假设S=″I AM A STUDENT″,则运算substr(S,4,8)的结果为( )
A.″M A S″ B.″M A STUD″ C.″A STUDEN″ D.″STUD″
9、设一棵完全二叉树具有1000个结点,则此完全二叉树有个叶子结点,有个度为2的结点,有个结点只有非空左子树,有个结点只有非空右子树。
10、线性有序表(a1,a2,a3,…,a256)是从小到大排列的,对一个给定的值k,用二分法检索表中与k相等的元素,在查找不成功的情况下,最多需要检索次。设有100个结点,用二分法查找时,最大比较次数是。
A.a d b e f cB.a d c e f bC.a d c b f eD.a d e fbc
26.一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( )。
A、2 3 4 1 5B、5 4 1 3 2C、2 3 1 4 5D、1 5 4 3 2
27.不可能生成右图所示二叉排序树的关键字序列是( )
(C)删除第i个结点(1≤i≤n)
(D)将n个结点从小到大排序
4.向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动个元素
(A)8(B)63.5(C)63(D)7
5.判定一个队列QU(最多元素为m0)为空队列的条件是
A.QU->rear-QU->front = = m0B.QU->rear-QU->front-1= = m0C.QU->front = = QU->rearD.QU->front = = QU->rear+1
22、对于一个具有n个顶点和e条边的连通图,其生成树中的顶点数和边数分别为和。
23、从有序表(12,18,30,43,56,78,82,95)中依次二分查找43和56元素时,其查找长度分别为和。
24、每次从无序中表示顺序取出一个元素,把插入到有序表中的适当位置,此种排序方法叫做__________排序,每次从无序中表中挑选出一个最小或最大元素,把它交换到有序表的一端,此种排序方法叫做___________排序。
( )4.二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。
( )5.对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i-1个结点。
()6.链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动将后续各个单元向前移动。
( )7.用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。
C n-i-1 Ci
11、由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为_________
A、24 B、48C、72 D、53
12、假定一个顺序队列的队首和队尾指针分别为f和r,则判断队空的条件为。
A f+1= =r B r+1= =f
C f= =0 D f= =r
13、从堆中删除一个元素的时间复杂度为。
15、栈又称为表,队列又称为表。
16、后缀表达式“4 5+3*2 4+ *”的值为。
17、一棵深度为5的满二叉树中的结点数为个,一棵深度为3的满四叉树中的结点数为个。
18、对关键字序列(50,34,92,19,11,68,56,41,79)进行直接插入排序,当将第7个关键字56插入到当前的有序子表中时,为寻找插入位置需进行_________次关键字之间的比较。
一、填空题
1、数据结构被形式地定义为(D, R),其中D是的有限集合,R是D上的有限集合。
2、一个算法的效率可分为复杂性和复杂性。
3、向一个长度为n的线性表的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动________个元素。
4、在一个循环队列中,队首指针指向队首元素的位置。
5、在具有n个单元的循环队列中,队满时共有个元素。
25、若一个算法中的语句频度之和为T(n)=3720n+4nlogn,则算法的时间复杂度为。
26、在一棵二叉排序树中,每个分支点的左子树上所有结点的值一定______该结点的值,右子树上所有结点的值一定_____________该结点的值。
27、在归并排序中,进行每趟归并的时间复杂度为,整个排序过程的时间复杂度为,空间复杂度为。
3、线性表具有两种存储方式,即顺序方式和链接方式。现有一个具有五个元素的线性表L={23,17,47,05,31},若它以链接方式存储在下列100~119号地址空间中,每个结点由数据(占2个字节)和指针(占2个字节)组成,如下所示(其中U、X、V、Y、Z为相应结点指针域的指针):
A.head==NULL B.head->next==NULL C.head!=NULL D.head->next!=NULL
17.导致栈上溢的操作是( )
A.栈满时执行的出栈 B.栈满时执行的入栈
C.栈空时执行的出栈 D.栈空时执行的入栈
18.设数组A[m]为循环队列Q的存储空间,front为队头指针,rear为队尾指针,则判定Q为空队列的条件是( )
23.在待排关键字序列基本有序的前提下,效率最高的排序方法是( )
A.直接插入排序 B.快速排序 C.直接选择排序 D.归并排序
24.下列排序算法中,()算法可能会出现下面情况:初始数据有序时,花费的时间反而最多。
A、堆排序 B、冒泡排序 C、快速排序 D、SHELL排序
25.已知一个有向图如右所示,则从顶点a出发进行深度优先偏历,不可能得到的DFS序列为( )
( )8.具有12个结点的完全二叉树有5个度为2的结点。
()9.线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻。
()10.顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。
三、单项选择题
1.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为:
(A)存储结构(B)逻辑结构(C)顺序存储结构(D)链式存储结构
28、在如图所示的链表中,若在指针p所指的结点之后插入数据域值相继为a和b的两个结点,则可用下列两个语句实现该操作,它们依次是______和__________________。
29、在一个长度为n的循环链表中,删除其元素值为x的结点的时间复杂度(考虑等概率 )为______。
30、已知指针p指向某单链表中的一个结点,则判别该结点有且仅有一个后继结点的条件是______。
31、如果入栈序列是1,3,5,…,97,99,且出栈序列的第一个元素为99,则出栈序列中第30个元素为______。
32、假设以行优先顺序存储三维数组A[5][6][7],其中元素A[0][0][0]的地址为1100,且每个元素占2个存储单元,则A[4][5][6]的地址是______。
33、已知一棵二叉树的先序序列为ABCD,中序序列为BCAD,则它的后序序列为______。
6.链表是一种采用存储结构存储的线性表;
(A)顺序(B)链式(C)星式(D)网状
7.线性表若采用链式存储结构时,要求内存中可用存储单元的地ห้องสมุดไป่ตู้:
(A)必须是连续的(B)部分地址必须是连续的
(C)一定是不连续的(D)连续或不连续都可以
8.线性表L在情况下适用于使用链式结构实现。
(A)需经常修改L中的结点值(B)需不断对L进行删除插入
C.都连通的有向图 D.都不连通的有向图
22.对记录序列(314,298,508,123,486,145)依次按个位和十位进行两趟基数排序之后所得结果为( )
A.123,145,298,314,486,508 B.508,314,123,145,486,298
C.486,314,123,145,508,298 D.298,123,508,486,145,314
20.假设一棵完全二叉树按层次遍历的顺序依次存放在数组BT[m]中,其中根结点存放在BT[0],若BT[i]中的结点有左孩子,则左孩子存放在( )
A.BT[i/2] B.BT[2*i-1] C.BT[2*i] D.BT[2*i+1]
21.连通图是指图中任意两个顶点之间( )
A.都连通的无向图 B.都不连通的无向图