数据结构复习题及答案12级.docx
《数据结构复习题及答案12级.docx》由会员分享,可在线阅读,更多相关《数据结构复习题及答案12级.docx(28页珍藏版)》请在冰豆网上搜索。
数据结构复习题及答案12级
一、选择题。
(每小题2分,共40分)
(1)计算机识别.存储和加工处理的对象被统称为____A____。
A.数据B.数据元素
C.数据结构D.数据类型
(2)数据结构通常是研究数据的____A_____及它们之间的联系。
A.存储和逻辑结构B.存储和抽象
C.理想和抽象D.理想与逻辑
(3)不是数据的逻辑结构是____A______。
A.散列结构B.线性结构
C.树结构D.图结构
(4)数据结构被形式地定义为,其中D是____B_____的有限集,R是____C_____的有限集。
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个字母的有限序列
C.如果两个串含有相同的字符,则它们相等
D.只有当两个串的长度相等,并且各个对应位置的字符都相符时才相等
(36) 字符串的长度是指___C______。
A.串中不同字符的个数 B.串中不同字母的个数
C.串中所含字符的个数 D.串中不同数字的个数
(37)两个字符串相等的充要条件是____C______。
A.两个字符串的长度相等 B.两个字符串中对应位置上的字符相等
C.同时具备(A)和(B)两个条件 D.以上答案都不对
(38)串是一种特殊的线性表,其特殊性体现在____B_______。
A.可以顺序存储 B.数据元素是一个字符
C.可以链接存储 D.数据元素可以是多个字符
(39)设有两个串p和q,求q在p中首次出现的位置的运算称作 ____B______。
A.连接 B.模式匹配 C.求子串 D.求串长
(40)设串sI="ABCDEFG",s2="PQRST",函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串s的从序号i的字符开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1,2,1en(s2)),subs(sl,len(s2),2))的结果串是__D___。
A.BCDEF B.BCDEFG C.BCPQRST D.BCDEFEF
(41)函数substr(“DATASTRUCTURE”,5,9)的返回值为___A______。
A.“STRUCTURE” B.“DATA” C.“ASTRUCTUR” D.“DATASTRUCTURE”
(42)设串S=”IAMATEACHER!
”,其长度是____D______。
A.16 B.11 C.14 D.15
(43)假定在一棵二叉树中,双分支结点数为15个,单分支结点数为32个,则叶子结点数为____B____。
A.15B.16C.17D.47
(44)假定一棵二叉树的结点数为18个,则它的最小高度____B____。
A.4B.5C.6D.18
(45)在一棵二叉树中第五层上的结点数最多为____C____。
A.8B.15C.16D.32
(46)在一棵具有五层的满二叉树中,结点总数为____A____。
A.31B.32C.33D.16
(47)已知8个数据元素为(34、76、45、18、26、54、92、65),按照依次插入结点的方法生成一棵二叉排序树后,最后两层上的结点总数为____B____。
A.1B.2C.D.4
(48)由分别带权为9、2、5、7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为____C____。
A.23B.37C.44D.46
(49)在树中除根结点外,其余结点分成m(m≥0)个____A____的集合T1,T2,T3...Tm,每个集合又都是树,此时结点T称为Ti的父结点,Ti称为T的子结点(1≤i≤m)。
A.互不相交B.可以相交
C.叶结点可以相交D.树枝结点可以相交
(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_______,则比较四次查找