数据结构复习题及答案12级.docx
- 文档编号:27662135
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:27
- 大小:138.34KB
数据结构复习题及答案12级.docx
《数据结构复习题及答案12级.docx》由会员分享,可在线阅读,更多相关《数据结构复习题及答案12级.docx(27页珍藏版)》请在冰豆网上搜索。
数据结构复习题及答案12级
一、选择题。
(每小题2分,共40分)
(1)计算机识别.存储和加工处理的对象被统称为____A____。
A.数据B.数据元素
C.数据结构D.数据类型
(2)数据结构通常是研究数据的____A_____及它们之间的联系。
A.存储和逻辑结构B.存储和抽象
C.理想和抽象D.理想与逻辑
(3)不是数据的逻辑结构是____A______。
A.散列结构B.线性结构
C.树结构D.图结构
(4)数据结构被形式地定义为
A.算法B.数据元素
C.数据操作D.逻辑结构
(5)组成数据的基本单位是____A______。
A.数据项B.数据类型
C.数据元素D.数据变量
(6)设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是____A______。
A.线性结构B.树型结构
C.图型结构D.集合
(7)数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为___C____。
A.存储结构B.逻辑结构
C.顺序存储结构D.链式存储结构
(8)在数据结构的讨论中把数据结构从逻辑上分为___A____。
A.内部结构与外部结构B.静态结构与动态结构
C.线性结构与非线性结构D.紧凑结构与非紧凑结构
(9)对一个算法的评价,不包括如下____B_____方面的内容。
A.健壮性和可读性B.并行性
C.正确性D.时空复杂度
(10)算法分析的两个方面是__A____。
A.空间复杂性和时间复杂性B.正确性和简明性
C.可读性和文档性D.数据复杂性和程序复杂性
(11)线性表是具有n个___C_____的有限序列(n≠0)。
A.表元素 B.字符
C.数据元素 D.数据项
(12)线性表的存储结构是一种____B____的存储结构。
A.随机存取B.顺序存取
C.索引存取D.HASH存取
(13)在一个长度为n的顺序表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需要向后移动____B____个元素。
A.n-iB.n-i+1
C.n-i-1D.i
(14)链表是一种采用____B____存储结构存储的线性表;
A.顺序B.链式
C.星式D.网状
(15)下面关于线性表的叙述错误的是___D_____。
A.线性表采用顺序存储必须占用一片连续的存储空间
B.线性表采用链式存储不必占用一片连续的存储空间
C.线性表采用链式存储便于插入和删除操作的实现
D.线性表采用顺序存储便于插入和删除操作的实现
(16)设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B之间插入结点X的操作序列为__B______。
A.s->next=p->next;p->next=-s;
B.q->next=s;s->next=p;
C.p->next=s->next;s->next=p;
D.p->next=s;s->next=q;
(17)设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为___A_____。
A.p->next=p->next->nextB.p=p->next
C.p=p->next->nextD.p->next=p
(18)下列说法哪个正确?
____D______
A.堆栈是在两端操作、先进后出的线性表
B.堆栈是在一端操作、先进先出的线性表
C.队列是在一端操作、先进先出的线性表
D.队列是在两端操作、先进先出的线性表
(19)栈和队列的共同点是 _____C_______。
A.都是先进后出B.都是先进先出
C.只允许在端点处插入和删除元素D.没有共同点
(20)栈与一般线性表的区别主要在_____D______。
A、元素个数B、元素类型C、逻辑结构D、插入、删除元素的位置
(21)链栈与顺序栈相比,比较明显的优点是_____D_____。
A、插入操作更加方便 B、删除操作更加方便
C、不会出现下溢的情况 D、不会出现上溢的情况
(22)以下数据结构中哪一个是非线性结构___D______。
A.队列 B.栈 C.线性表 D.二叉树
(23)若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为 _____C______。
A.i B.B.n=i C.n-i+1 D.不确定
(24)当利用大小为N的一维数组顺序存储一个栈时,假定用top==N表示栈空,则向这个栈插入一个元素时,首先应执行 ____B______语句修改top指针。
A.top++ B.top-- C.top=0 D.top
(25)4个元素进S栈的顺序是A,B,C,D,经运算POP(S)后,栈顶元素是___C_______。
A.A B.B C.C D.D
(26)一个栈的输入序列是a,b,c,d,e,则栈的不可能的输出序列是____C_____。
A.edcba B.decba C.dceab D.abcde
(27)设输入序列是1、2、3、……、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是____C______。
A.n-i B.n-1-i C.n+1-i D.不能确定
(28)字符A、B、C、D依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成___B___个不同的字符串?
A.15 B.14 C.16 D.21
(29)设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为____D_______。
A.top=top+1; B.top=top-1;
C.top->next=top; D.top=top->next;
(30)设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是____C_____。
A.6 B.4 C.3 D.2
(31)若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3。
当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为 ____B_____。
A.1和5 B.2和4 C.4和2 D.5和1
(32)设顺序循环队列Q[0:
M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为____C_____。
A.R-F B.F-R C.(R-F+M)%M D.(F-R+M)%M
(33)设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为 ____C_____。
A.front->next=s;front=s; B.s->next=rear;rear=s;
C.rear->next=s;rear=s; D.s->next=front;front=s;
(34)如下陈述中正确的是___A______。
A.串是一种特殊的线性表 B.串的长度必须大于零
C.串中元素只能是字母 D.空串就是空白串
(35)下列关于串的叙述中,正确的是 ___D______。
A.串长度是指串中不同字符的个数 B.串是n个字母的有限序列
(50)如果结点A有三个兄弟,而且B是A的双亲,则B的出度是____B____。
A.3B.4C.5D.1
(51)在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的____B____倍。
A.1/2B.1C.2D.4
(52)具有n个顶点的无向完全图,边的总数为____D____条。
A.n-1B.nC.n+1D.n*(n-1)/2
(53)在无向图G的邻接矩阵A中,若A[i,j]等于1,则A[j,i]等于____C____。
A.i+jB.i-jC.1D.0
(54)图的深度优先或广度优先遍历的空间复杂性均为____A____。
(访问标志位数组空间)
A.O(n)B.O(e)C.O(n-e)D.O(n+e)
(55)请指出在顺序表{2、5、7、10、14、15、18、23、35、41、52}中,用折半法查找关键码12需做____C___次关键码比较。
A.2B.3C.4D.5
(56)对线性表进行折半查找时,必须要求线性表____C____。
A.以顺序方式存储B.以链接方式存储
C.以顺序方式存储,且结点按关键字有序排列
D.以链接方式存储,且结点按关键字有序排列
(57)设二叉排序树中有n个结点,则在二叉排序树的平均查找长度为___B_____。
A.O
(1)B.O(log2n)C.O(n)D.O(n2)
(58)依次插入序列(50,72,43,85,75,20,35,45,65,30)后建立的二叉搜索树中,查找元素35要进行__A___元素间的比较。
A.4次B.5次C.7次D.10次
(59)设散列表中有m个存储单元,散列函数H(key)=key%p,则p最好选择___B_____。
A.小于等于m的最大奇数B.小于等于m的最大素数
C.小于等于m的最大偶数D.小于等于m的最大合数
(60)____D_____是HASH查找的冲突处理方法。
A.求余法B.平方取中法C.二分法D.开放地址法
(61)当α的值较小时,散列存储通常比其他存储方式具有_____B______的查找速度。
A.较慢B.较快C.相同D.不确定
(62)对线性表进行折半查找最方便的存储结构是____B_______。
A.顺序表B.有序的顺序表
C.链表D.有序的链表
(63)如果要求一个线性表既能较快的查找,又能适应动态变化的要求,可以采用_____D____查找方法。
A.分块B.顺序C.折半D.散列
(64)散列函数有一个共同性质,即函数值应按___C______取其值域的每一个值。
A.最大概率B.最小概率C.同等概率D.平均概率
(65)下述排序算法中,稳定的是___B_____。
A.直接选择排序 B.直接插入排序 C.快速排序D.堆排序
(66)下列排序算法中,____A____需要的辅助存储空间最大。
A.快速排序B.插入排序C.希尔排序D.基数排序
(67)下列各种排序算法中平均时间复杂度为O(n2)是___D_____。
A.快速排序B.堆排序C.归并排序D.冒泡排序
(68)在基于关键码比较的排序算法中,____C_____算法在最坏情况下,关键码比较次数不高于O(nlog2n)。
A.起泡排序B.直接插入排序
C.二路归并排序D.快速排序
(69)一组记录为{46,79,56,38,84,40},则采用冒泡排序法按升序排列时第一趟排序结果是___B_____。
A.46,79,56,38,40,84B.46,56,38,79,40,84
C.38,40,46,56,84,79D.38,46,79,56,40,84
(70)每次从无序表中取出一个元素,把它插入到有序表中的适当位置,此种排序方法叫做___A_____排序。
A.插入B.堆C.快速D.归并
(71)每次从无序表中挑选出一个最小或最大元素,把它交换到有序表的一端,此种排序方法叫做___B_____排序。
A.插入B.堆C.快速D.归并
(72)设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为____C____。
A.2,3,5,8,6B.3,2,5,8,6
C.3,2,5,6,8D.2,3,6,5,8
(73)下列排序方法中,哪一种方法的比较次数与纪录的初始排列状态无关___D_____。
A.直接插入排序B.起泡排序
C.快速排序D.直接选择排序
(74)设有关键码初始序列{Q,H,C,Y,P,A,M,S,R,D,F,X},新序列{F,H,C,D,P,A,M,Q,R,S,Y,X}是采用____C____方法对初始序列进行第一趟扫描的结果。
A.直接插入排序B.二路归并排序
C.以第一元素为分界元素的快速排序D.基数排序
(75)在待排序文件已基本有序的前提下,下述排序方法中效率最高的是__C____。
A.直接插入排序B.直接选择排序
C.快速排序D.归并排序
(76)若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选排序方法是___C_____。
A.快速排序B.堆排序
C.归并排序D.直接插入排序
(77)将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是___B_______。
A.nB.2n-1C.2nD.n-1
(78)下列排序算法中,____C____算法可能会出现下面情况:
初始数据有序时,花费的间反而最多。
A.堆排序B.冒泡排序C.快速排序D.SHELL排序
二、填空题。
(每空1分,共10分)
(1)数据结构是一门研究非数值计算的程序设计问题中计算机的数据以及它们之间的关系和运算等的学科。
(2)数据结构包括数据的逻辑结构结构和物理结构结构。
(3)数据结构从逻辑上划分为三种基本类型:
____线性数据结构_______、____树型结构______和_____图结构______。
(4)数据的物理结构被分为___顺序存储______、___链式存储_____、____索引存储______和______散列表(Hash)存储_____四种。
(5)一种抽象数据类型包括_____变量的取值范围_____和____操作的类别_____两个部分。
(6)数据的逻辑结构是指数据元素间的逻辑关系,数据的存储结构是指数据元素存储方式或者数据元素的物理关系。
(7)数据结构是指数据及其相互之间的____关系__________。
当结点之间存在M对N(M:
N)的联系时,称这种结构为________网状结构________。
当结点之间存在1对N(1:
N)的联系时,称这种结构为_____树结构__________。
(8)对算法从时间和空间两方面进行度量,分别称为空间复杂度和时间复杂度分析。
(9)算法的效率可分为______空间_________效率和______时间_________效率。
(10)for(i=1,t=1,s=0;i<=n;i++){t=t*i;s=s+t;}的时间复杂度为___Ο(n)______。
(11)线性表是n个元素的_________有限序列____________________。
(12)线性表的存储结构有_________顺序存储和链式存储____________________。
(13)设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为_____O(n)______,在链式存储结构上实现顺序查找的平均时间复杂度为____O(n)_______。
(14)设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中___n-i+1____个数据元素;删除第i个位置上的数据元素需要移动表中___n-i____个元素。
(15)若频繁地对线性表进行插入与删除操作,该线性表应采用_____链式_________存储结构。
(16)链式存储结构中的结点包含______数据__________域和_____指针__________域。
(17)对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为___Ο
(1)______,在表尾插入元素的时间复杂度为_____Ο(n)_______。
(18)栈的插入和删除只能在栈的栈顶进行,后进栈的元素必定先出栈,所以又把栈称为____FILO________表;队列的插入和删除运算分别在队列的两端进行,先进队列的元素必定先出队列,所以又把队列称为 _____FIFO______表。
(19)s=”Iamaman”长度为____10_______ 。
(20)s1=”hello“,s2=”boy”,s1,s2连接后为:
________helloboy______________ 。
(21)s=”thisisthemainstring”,sub=”string”,strindex(s,sub)是:
_______13_______。
(22)inta[10][10],已知a=1000,sizeof(int)=2,求a[3][3]地址:
_______1066___________ 。
(23)设有两个串p和q,求q在p中首次出现的位置的运算称为________模式匹配________。
(24)在树型结构中,树根结点没有______前趋______结点,其余每个结点有且仅有______一______个前驱结点;树叶结点没有______后继______结点,其余每个结点的______后继______结点数不受限制。
(25)在一棵二叉树中,度为0的结点的个数为n0,度为2的结点的个数为n2,则:
n0=______n2+1______。
(26)由分别带权为3,9,6,2,5的共五个叶子结点构成一棵哈夫曼树,则带权路径长度为______55______。
(27)在图G的邻接表表示中,每个顶点邻接表中所含的结点数,对于无向图来说等于该顶点的______度数______,对于有向图来说等于该顶点的______出度数______。
(28)假定一个图具有n个顶点和e条边,则采用邻接矩阵表示的空间复杂性为______O(n2)______,采用邻接表表示的空间复杂性为______O(n+e)______。
(29)对于长度为n的线性表,若进行顺序查找,则时间复杂度为______O(n)____;若采用折半法查找,则时间复杂度为______O(log2n)____。
(30)假设在有序线性表A[1..20]上进行折半查找,则比较一次查找成功的结点数为____1_______,则比较二次查找成功的结点数为____2_______,则比较三次查找成功的结点数为____4_______,则比较四次查找成功的结点数为_____8______,则比较五次查找成功的结点数为____5_______,平均查找长度为_____log2(n+1)-1______。
(31)在一棵二叉排序树中,每个分支结点的左子树上所有结点的值一定_____小于______该结点的值,右子树上所有结点的值一定____大于_______该结点的值。
(32)对一棵二叉排序树进行中序遍历时,得到的结点序列是一个_______增序序列_______________。
(33)对于线性表(70,34,55,23,65,41,20)进行散列存储时,若选用H(K)=K%7作为散列函数,则散列地址为0的元素是_____70_________,散列地址为6的是____34,20,55_________。
(34)在线性表的散列存储中,装填因子α又称为装填系数,若用m表示散列表的长度,n表示待散列存储的元素的个数,则α等于____n/m_______。
(35)散列表中解决冲突的两种方法是____开放地址法_________和____链地址法_________。
(36)在散列存储中,装填因子a的值越大,则_______产生冲突的可能性就越大____________;a的值越小,则_____产生冲突的可能性就越小___________。
(37)散列法存储的基本思想是由________关键码直接______________决定数据的存储地址。
(38)构造哈希函数的方法有(写二个)______________直接定址法,数字分析法,平方取中法,折叠法,除留余数法,随机数法_________________________________________。
(39)在分块查找中首先查找_____索引________,然后再查找相应的______块_________。
(40)散列表的查找效率主要取决于散列表造表时选择的_____哈希函数________和______装填因子_________。
(41)对两棵具有相同关键字集合而形状不同的二叉排序树,____中序_______遍历它们得到的序列的顺序是一样的。
(42)当待排序的记录数较大,排序码较随机且对稳定性不作要求时,宜采用______快速_________排序;当待排序的记录数较大,存储空间允许且要求排序是稳定时,宜采用______归并_________排序。
(43)在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为___O(log2n)_____,整个堆排序过程的时间复杂度为____O(nlog2n)____。
(44)当向一个大根堆插入一个具有最大值的元素时,需要逐层____向上_____调整,直到被调整到_____根结点_______位置为止。
(45)对一组初始关键字序列(40,50,95,20,15,70,60,45,10)进行冒泡排序,则第一趟需要进行相邻记录的比较的次数为____8______,在整个排序过程中最多需要进行_____8_____趟排序才可以完成。
(46)在在插入排序、选择排序、快速排序、堆排序、归并排序和基数排序中,平均比较次数最少的排序是___快速_______,需要内存容量最多的是____归并______。
(47)堆排序是不稳定,空间复杂度为____O
(1)_____。
在最坏情况下,其时间复杂度也为___O(nlog2n)______。
(48)若待排序的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 复习题 答案 12