江技师数据结构复习题.docx
《江技师数据结构复习题.docx》由会员分享,可在线阅读,更多相关《江技师数据结构复习题.docx(28页珍藏版)》请在冰豆网上搜索。
江技师数据结构复习题
一、单项选择题
1、向一个有255个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动()个元素。
A.8 B.127.5 C.127 D.7
2、带头结点的单链表first为空的判定条件是:
()
A.first==NULLB.first->link==NULL
C.first->link==firstD.first!
=NULL
3、 设某线性链表的头结点指针为L,L->data表示该链表的结点个数,L->next指向该链表的第一个结点,p指向新建立的结点,其类型与L相同。
在建立该链表的过程中,若希望L->next始终指向新输入的结点,可采用如下的C语言语句实现:
A.p->next=L->next,L->next=p,L->data++;
B.p->next=NULL,L->next=p,L->data++;
C.L->data++,L->next=p->next,p->next=L;
D.以上都不是。
4、设A、B、C三个字符按先后顺序依次进栈,下面哪个序列为不合法的出栈序列:
A.ABCB.ACBC.BACD.CAB
5、如下陈述中正确的是( )
A.串是一种特殊的线性表 B.串的长度必须大于零
C.串中元素只能是字母 D.空串就是空白串
6、在二叉树的第4层上至多有多少个结点:
A.10个B.8个C.16个D.以上都不是。
7、若一棵二叉树具有8个度为2的结点,则该二叉树的叶子个数是()
A.9B.11C.7D.不确定
8、在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( )
A.e B.2e C.n2-e D.n2-2e
9、5个不同的数据元素进行直接插入排序,最多需要进行( )次比较。
A.8 B.10 C.14 D.25
10、设有关键码初始序列{Q,H,C,Y,P,A,M,S,R,D,F,X},新序列{F,H,C,D,P,A,M,Q,R,S,Y,X}是采用下列哪种排序方法对初始序列进行第一趟扫描的结果?
A.直接插入排序B.二路归并排序
C.以第一元素为分界元素的快速排序D.基数排序
1、在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为()。
A.O(n)B.O(n/2)C.O
(1)D.O(n2)
2、当利用大小为n的数组顺序存储一个队列时,该队列的最大长度为()
A.n-2B.n-1C.nD.n+1
3、链表表示线性表的优点是:
A.便于随机存取B.花费的存储空间比顺序表少
C.便于插入与删除D.数据元素的物理顺序与逻辑顺序相同
4、设有两个串p和q,求q在p中首次出现的位置的运算称作()
A.连接B.模式匹配C.求子串D.求串长
5、设有一个二元数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,则A[4][5]在( )位置,(10)表明用10进数表示。
A.692(10)B.626(10) C.709(10)D.724(10)
6、在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加()。
A.2B.-1C.0D.1
7、n个顶点的连通图至少有( )条边
A.n+1 B.n C.n-1 D.0
8、无向图中一个顶点的度是指图中( )
A.通过该顶点的简单路径数 B.与该顶点相邻接的顶点数
C.通过该顶点的回路数 D.与该顶点连通的顶点数
9、在下列排序算法中,()算法的最坏情况下时间复杂度不高于O(nlog2n)。
A.起泡排序B.希尔排序C.归并排序D.快速排序
10、下列说法中错误的是()
A.n个结点的树的各结点度数之和为n-1
B.n个结点的无向图最多有n*(n-1)条边
C.用相邻矩阵存储图时所需存储空间大小与图的结点数有关,而与边数无关
D.散列表中碰撞的可能性大小与负载因子有关
1、向顺序栈中压入新元素时,应当()。
A.先移动栈顶指针,再存入元素B.先存入元素,再移动栈顶指针
C.先后次序无关紧要D.同时进行
2、设有向图有n个顶点和e条边,采用领接表作为其存储表示,在进行拓扑排序时,总的计算时间为()。
A.O(nlog2e)B.O(n+e)C.O(ne)D.O(n2)
3、线性链表不具有的特点是()。
A.随机访问B.不必事先估计所需存储空间大小
C.插入与删除时不必移动元素D.所需空间与线性表长度成正比
4、设有一个10阶的对称矩阵A[10][10],采用压缩存储方式按行将矩阵中下三角部分的元素存入一维数组B[]中,A[0][0]存入B[0]中,则A[8][5]在B[]中()位置。
A.32B.33C.41D.65
5、设F是一个森林,B是由F转换得到的二叉树,F中有n个非叶结点,则B中右指针域为空的结点有()个。
A.n-1B.nC.n+1D.n+2
6、具有65个结点的完全二叉树的高度为( )。
(根的层次号为0)
A.8B.7C.6D.5
7、若待排序对象序列在排序前已按其排序码递增顺序排序,则采用()方法比较次数最少。
A.直接插入排序B.快速排序C.归并排序D.直接选择排序
8、在一个无向图中,所有顶点的度数之和等于所有边数的()倍。
A.3B.2C.1D.1/2
9、某二叉树进行前序遍历的结果为ABDEFC,中序遍历的结果为DBFEAC,则后序遍历的结果为()。
A.DBFEACB.DFEBCAC.BDFECAD.BDEFAC
10、假定有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表中,至少要进行多少次探测?
()
1、用单链表表示的链式队列的队头在链表的()位置。
A.链头B.链尾C.链中
2、只想得到1024个元素组成的序列中第5个最小元素之前的部分排序的序列,用()方法最快。
A.起泡排序B.快速排序C.简单选择排序D.堆排序
3、若待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。
()就是不稳定的排序方法。
A.起泡排序B.归并排序C.直接插入排序D.简单选择排序
4.数据结构中,与所使用的计算机无关的是数据的()结构;
A.存储B.物理C.逻辑D.物理和存储
5.向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动()个元素
A.8B.63.5C.63D.7
6.设串s1=’ABCDEFG’,s2=’PQRST’,函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串s的从序号i开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1,2,len(s2)),subs(s1,len(s2),2))的结果串是()。
A.BCDEFB.BCDEFGC.BCPQRSTD.BCDEFEF
7.二叉树是非线性数据结构,所以()。
A.它不能用顺序存储结构存储;B.它不能用链式存储结构存储;
C.顺序存储结构和链式存储结构都能存储;
D.顺序存储结构和链式存储结构都不能使用
8.有8个结点的无向连通图最少有()条边。
A.5B.6C.7D.8
9.折半查找有序表(4,6,10,12,20,30,50,70,88,100)。
若查找表中元素58,则它将依次与表中()比较大小,查找结果是失败。
A.20,70,30,50B.30,88,70,50C.20,50D.30,88,50
10.把一棵树转换为二叉树后,这棵二叉树的形态是()。
A.有多种B.唯一的
C.有多种,但根结点都没有左孩子D.有多种,但根结点都没有右孩子
A.k-1次B.k次C.k+1次D.k(k+1)/2次
1、设H为带头结点单向循环链表的头指针,指针域为link,P为移动指针,则表尾的判断条件是()
A.H->link=HB.P=HC.P->link=NULLD.P->link=H
2、若一个栈的输入序列是1,2,3,…,n,输出序列的第一个元素是n,则第x个输出元素是()
A.n-xB.n-x+1C.xD.n-x-1
3、广义表A=(a,(b),(),(c,d,e))的长度为( )
A4 B5 C6 D7
4、将一个A[1..100,1..100]的下三对角矩阵,按以行优先存入一维数组B[1..298]中,A中元素a66,65(即该元素下标i=66,j=65)在数组中的位置k为()。
A194B195C196D197
5、以{4,5,6,7,8}作为叶子结点的权值构造哈夫曼树,则其带权路径长度是()。
A65B67C68D69
6、具有200个结点的完全二叉树的深度为()
A6B7C8D9
7、有向图的邻接矩阵是一个()
A对称矩阵B上三角矩阵C对角矩阵D上述说法都不对
8、对线性表进行折半查找时,要求线性表必须()
A以顺序方式存储B以链接方式存储
C以顺序方式存储,且结点按关键字有序排列
D以链接方式存储,且结点按关键字有序排列
9、快速排序在()情况下最不利于发挥其特长。
A被排序的数据量太大B被排序的含有多个相同值
C被排序的数据已基本有序D被排序的数据中有实数
10、以下序列不是堆的是()
A(100,85,98,77,80,60,82,40,20,10,66)B(100,95,85,82,80,77,66,60,40,20,10)
C(10,20,40,60,66,77,80,82,85,98,100)D(100,85,40,77,80,60,66,98,82,10,20)
1.算法分析的两个主要方面是()
A.空间复杂性和时间复杂性B.正确性和简明性
C.可读性和文档性D.数据复杂性和程序复杂性
2.链表是一种采用()存储结构存储的线性表
A.顺序B.链式C.星式D.网状
3、在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取走数据打印。
该缓冲区应该是一个()结构。
A堆栈B数组C队列D线性表
4.线性表L在()情况下适用于使用链式结构实现。
A.需经常修改L中的结点值B.L中结点结构复杂
C.L中含有大量的结点D.需不断对L进行删除插入
5、先序遍历能得到A,B,C序列的不同二叉树,最多有几种()
A4B5C6D7
6、若树中用一条线段把两个结点连接起来,则()。
A不一定出现环B一定出现环C使树的度数增1D前面说法都不正确
7、在一个图中,所有顶点的度数之和等于所有边数的()倍。
A1/2B1C2D4
8、无向图中定义顶点Vi与Vj之间的路径为从Vi到达Vj的一个()
A顶点和边序列B边的条数C权值总和D边序列
9、任何一个无向连通图的最小生成树()
A.只有一棵B.一棵或多棵C.一定有多棵D.可能不存在
10.折半查找与二叉排序树查找的时间性能()
A.相同B.完全不同C.数量级都是O(log2n)D.有时不相同
1.在下列存储结构中,具备随机存取特性的是()
A.顺序表B.单链表C.单循环链表D.带头结点的双循环链表
2.在循环双向链表的p所指结点之后插入q所指结点,可执行()操作来完成。
A.q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;
B.q->prior=p;q->next=p->next;p->next=q;p->next->prior=q;
C.p->next=q;p->next->prior=q;q->prior=p;q->next=p->next;
D.p->next=q;q->prior=p;p->next->prior=q;q->next=p->next;
3.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,…,pi,…,pn,若p1=n,则pi为()
A.iB.n=iC.n-i+1D.不确定
4.数组q[0..maxsize-1]作为循环队列Q的存储空间,front为队头指针,rear为队尾指针,则出队操作为()
A.front=front+1B.front=(front+1)%maxsize
C.front=(rear-front+1)%maxsize
D.front=(rear-front+maxsize)%maxsize
5.设有二维数组A[1..6][1..8],每个元素用相邻的6个字节存储,存储器按字节编址。
已知起始地址为1000,若按行优先方式存储,元素A[1,4]的地址是()
A.1024B.1018C.1004D.1003
6.在一棵非空树中,()没有双亲结点。
A.根结点B.叶子结点C.分支结点D.内部结点
7.具有3个结点的二叉树的形态有()种。
A.2B.3C.4D.5
8.图G有n个结点和e条边,在用邻接表表示该图时,建立图的算法的时间复杂度为()
A.O(n) B.O(n+e) C.O(n3
)D.O(n2
)
9.在下列无向图G中,顶点V2的度是()
10.用二分查找法进行查找时,要求查找表中各元素按键值()排列。
A.递增B.递减C.递增或递减D.无序
二、填空题
1、数据结构的形式定义为:
数据结构是一个二元组Data_Structure=(D,S),其中D是_________________、S是_________________.
2、在一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动__________个元素。
3、________是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。
4.设S=”A;/document/Mary.doc”,则strlen(s)=____________,“/”的字符定位的位置为_______。
5、在哈希造表过程中,处理冲突的方法主要有:
________________,________________,________________,________________。
6、所谓稀疏矩阵指的是_______。
7在图结构中,如果一个从Vp到Vq的路径上除Vp和Vq可以相同外,其它结点都不相同,则称此路径为________________。
8.一棵深度为6的满二叉树有__________个分支结点和___________个叶子。
9、对于n个记录的表进行2路归并排序,整个归并排序需进行_______趟(遍)。
1、数据结构有如下四类基本结构:
集合、_________________、_________________、_________________。
2、在顺序表中插入或删除一个元素,需要平均移动__________元素,具体移动的元素个数与________________有关。
3.栈是一种特殊的线性表,允许插入和删除运算的一端称为________。
不允许插入和删除运算的一端称为________。
4、____________________________________称为空串;
5、假设有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字节编址,则数组A的体积(存储量)为_______________。
6、一棵具有257个结点的完全二叉树,它的深度为________。
7.有向图G用邻接表矩阵存储,其第i行的所有元素之和等于顶点i的_______。
8、图的深度优先遍历序列______惟一的。
9、从平均时间性能而言,__________排序最佳。
10、线性有序表(a1,a2,a3,…,a256)是从小到大排列的,对一个给定的值k,用折半法检索表中与k相等的元素,在查找不成功的情况下,最多需要检索______次。
设有100个结点,用折半查找时,最多比较次数是______。
1、数据结构包括数据的逻辑结构、数据的_________和数据的_________这三个方面的内容。
2、在n个结点的单链表中要删除已知结点*p,需找到它的____________________,其时间复杂度为__________。
3、循环队列的引入,目的是为了克服_______。
4、子串的定位运算称为串的模式匹配;____________________称为目标串,____________________称为模式。
5、三元组表中的每个结点对应于稀疏矩阵的一个非零元素,它包含有三个数据项,分别表示该元素的__________、__________和__________。
6、由3个结点所构成的二叉树有__________种形态。
7、n个顶点e条边的图,若采用邻接矩阵存储,则空间复杂度为__________。
8、对于n个记录的集合进行冒泡排序,在最坏的情况下所需要的时间是________。
若对其进行快速排序,在最坏的情况下所需要的时间是__________。
9、在数据的存放无规律的线性表中进行检索的最佳方法是________________。
1、数据结构是一门研究非数值计算的程序设计问题中计算机的_________以及它们之间的_________和运算等的学科。
2、在一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动__________个元素。
3、用S表示入栈操作,X表示出栈操作,若元素入栈的顺序为1234,为了得到1342出栈顺序,相应的S和X的操作串为_______。
4、设S=“A:
/document/Mary.doc”,则strlen(s)=_________________,“/”的字符定位的位置为___________。
5、设数组a[1…60,1…70]的基地址为2048,每个元素占2个存储单元,若以列序为主序顺序存储,则元素a[32,58]的存储地址为___________。
6、一棵含有n(n>1)个结点的k叉树,可能达到的最大深度为___________,最小深度为___________。
7、设有一稀疏图G,则G采用___________存储较省空间。
8、在插入和选择排序中,若初始数据基本正序,则选用___________;若初始数据基本反序,则选用___________。
9、折半查找有序表(4,6,12,20,28,38,50,70,88,100),若查找表中元素20,它将依次与表中元素______________________比较大小。
10、在哈希函数H(key)=key%p中,p值最好取________________________________。
11、哈夫曼树是__________________________________________________。
1.算法的五个重要特征是、、可行性、输入、输出。
2.将长度为n的线性表顺序存储,在表中插入或删除一个元素,在平均情况下其时间复杂度为。
3.在双向链表中,每个结点含有两个指针域,一个指向前驱,一个指向。
4.数组与广义表可视为的推广。
5.在树中,树中所有结点度的最大值是树的,树中所有结点层次的最大值是树的。
6.一棵深度为k(k>=1)的二叉树,它的第i(i>=1)层上最多有个结点,整棵树最多有个结点。
7.在一个图中,如果顶点之间的连线是没有方向的,则称该图为图;如果顶点之间的连线是有方向的,则称该图为图。
8.直接插入排序算法的平均时间复杂度是,排序过程中仅需用个辅助单元。
9.查找表是同一种数据类型的数据元素的有限集合,查找表分为________查找表和________查找表。
1.线性结构中元素之间存在____________关系,树形结构中元素之间存在__________________关系,
2.链接存储的特点是利用_______________来表示数据元素之间的逻辑关系。
循环单链表的最大优点是:
_______________________。
3、在顺序表中插入或删除一个元素,需要平均移动______________元素,具体移动的元素个数与______________有关。
4.二维数组A[10…20][5…10]采用行序为主方式存储,每个元素占4个存储单元,并且A[10][5]的存储地址是1000,则A[18][9]的地址是____________。
5.广义表((a),((b),c),((d)))的表头是_________,表尾是___________________。
6.在二叉树中,指针p所指结点为叶子结点的条件是______。
7.无向图G=(V,{E})中从顶点v到顶点v’的路径是一个____________序列。
8.G是一个非连通无向图,共有28条边,则该图至少有___________个顶点。
9.设n0为哈夫曼树的叶子结点的数目,则哈夫曼树共有___________个结点。
10.设要将序列(Q,H,C,Y,P,A,M,S,R,D,F,X)中的关键码按字母顺序的升序重新排列,则:
冒泡排序一趟扫描的结果是____________________________________.
11.对于长度为255的表,采用分块查找,每块的最佳长度为__________。
1.树形结构中元素之间存在__________关系,图形结构中元素之间存在________________关系。
2.在一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动__________个元素。
3.设一棵完全二叉树中有500个结点,则该二叉树的深度为__________。
4._________是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。
5.设无向图G中有n个顶点和e条边,则其对应的邻接表中有_________个表头结点和_________个表结点。
6.设有n个结点的完全二叉树,如果按照从自上到下、从左到右