您好,欢迎访问三七文档
一、选择题1.栈和队列的共同特点是()。A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进行插入运算时().A.仅修改头指针B.头、尾指针都要修改C.仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?()A.队列B.栈C.线性表D.二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在()位置,脚注(10)表示用10进制表示。A.688B.678C.692D.6965.树最适合用来表示()。A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为().A.2k-1B.2K+1C.2K-1D.2k-17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为()A.1,2,3B.9,5,2,3C.9,5,3D.9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为()A.O(1)B.O(n)C.O(1og2n)D.O(n2)9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K%9作为散列函数,则散列地址为1的元素有()个,A.1B.2C.3D.410.设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图。A.5B.6C.7D.811.一个链队列中,f,r分别为队首、队尾指针,则插入s所指结点的操作为()。A)f-next=c;f=s;B)r-next=s;r=s;C)s-next=r;r=s;D)s-next=f;f=s;12.下列说法正确的是()。A)二叉树中每个结点的度都为2B)二叉树的度为2C)一棵二叉树的度可小于2D)二叉树中至少有一个结点的度213.一棵非空二叉树先序遍历与后序遍历序列正好相反,则该二叉树()。A)所有的结点均无左孩子B)所有的结点均无右孩子C)只有一个叶子结点D)是任意一棵二叉树14.二叉排序树中,键值最小的结点一定()。A)左指针为空B)右指针为空C)左右指针均为空D)左右指针均非空15.n个顶点的强连通图至少有()条边。A)n-1B)nC)n+1D)n(n-1)16.在一个有向图中,顶点入度之和与顶点出度之和的比值()。A)1/2B)1C)2D)417.高度为h的二叉树只有度为0和2的结点,则此二叉树至少为()结点。A)2*hB)2*h1C)2*h+1D)h+118.设某完全无向图中有n个顶点,则该完全无向图中有()条边。(A)n(n-1)/2(B)n(n-1)(C)n2(D)n2-119.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。(A)9(B)10(C)11(D)1220.设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。(A)n-1(B)n(C)n+1(D)2n-121.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()。(A)2,3,5,8,6(B)3,2,5,8,6(C)3,2,5,6,8(D)2,3,6,5,822.按照二叉树的定义,具有3个结点的二叉树有()种形态。A)3B)4C)5D)623.下列排序算法中,可能会出现在最后一趟开始之前,所有元素都不在其最终位置上是().A)堆排序B)冒泡排序C)快速排序D)插入排序24.一组记录的排序码为46,79,56,38,40,84。用堆排序方法建立的初始堆为()。A)79,46,56,38,40,80B)84,79,56,38,40,46C)84,79,56,46,40,38D)84,56,79,40,46,3825.将递归算法转换成对应的非递归算法时,通常需要使用()。A)栈B)队列C)链表D)树26.有10个结点的连通无向图,其边数至少有()。A)8条B)9条C)10条D)11条27.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是()。A)edcbaB)decbaC)dceabD)abcde28.高度为h的完全二叉树中所包含的结点数至少为()。A)2*h个B)2h1个C)2*h+1个D)h+1个29.设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为()。(A)O(n)(B)O(nlog2n)(C)O(1)(D)O(n2)30.设一棵二叉树的深度为k,则该二叉树中最多有()个结点。(A)2k-1(B)2k(C)2k-1(D)2k-131.设某无向图中有n个顶点e条边,则该无向图中所有顶点的入度之和为()。(A)n(B)e(C)2n(D)2e32.在二叉排序树中插入一个结点的时间复杂度为()。(A)O(1)(B)O(n)(C)O(log2n)(D)O(n2)33.设某有向图的邻接表中有n个表头结点和m个表结点,则该图中有()条有向边。(A)n(B)n-1(C)m(D)m-134.设一组初始记录关键字序列为(345,253,674,924,627),则用基数排序需要进行()趟的分配和回收才能使得初始关键字序列变成有序序列。(A)3(B)4(C)5(D)835.设用链表作为栈的存储结构则退栈操作()。(A)必须判别栈是否为满(B)必须判别栈是否为空(C)判别栈元素的类型(D)对栈不作任何判别36.设二叉排序树中有n个结点,则在二叉排序树的平均平均查找长度为()。(A)O(1)(B)O(log2n)(C)(D)O(n2)37.设无向图G中有n个顶点e条边,则其对应的邻接表中的表头结点和表结点的个数分别为()。(A)n,e(B)e,n(C)2n,e(D)n,2e38.设某强连通图中有n个顶点,则该强连通图中至少有()条边。(A)n(n-1)(B)n+1(C)n(D)n(n+1)39.设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列()方法可以达到此目的。(A)快速排序(B)堆排序(C)归并排序(D)插入排序40.下列四种排序中()的空间复杂度最大。(A)插入排序(B)冒泡排序(C)堆排序(D)归并排序二、填空题1.设有n个无序的记录关键字,则直接插入排序的时间复杂度为________,快速排序的平均时间复杂度为_________。2.设指针变量p指向双向循环链表中的结点X,则删除结点X需要执行的语句序列为_________________________________________________________(设结点中的两个指针域分别为llink和rlink)。3.根据初始关键字序列(19,22,01,38,10)建立的二叉排序树的高度为____________。4.深度为k的完全二叉树中最少有____________个结点。5.设初始记录关键字序列为(K1,K2,…,Kn),则用筛选法思想建堆必须从第______个元素开始进行筛选。6.设哈夫曼树中共有99个结点,则该树中有_________个叶子结点;若采用二叉链表作为存储结构,则该树中有_____个空指针域。7.设有一个顺序循环队列中有M个存储单元,则该循环队列中最多能够存储________个队列元素;当前实际存储________________个队列元素(设头指针F指向当前队头元素的前一个位置,尾指针指向当前队尾元素的位置)。8.设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中_______个数据元素;删除第i个位置上的数据元素需要移动表中_______个元素。9.设一组初始记录关键字序列为(20,18,22,16,30,19),则以20为中轴的一趟快速排序结果为______________________________。10.设一组初始记录关键字序列为(20,18,22,16,30,19),则根据这些初始关键字序列建成的初始堆为____________。11.头结点为H的单循环链表为空的条件是__。12.线性表作为栈时,被称为__。13.在堆排序、快速排序和归并排序中,若只从最坏情况下排序最快并且要节省内存空间考虑,应选取方法。14.一棵二叉树有11个度数为0的结点,则该二叉树的二度结点个数为__。15.平衡二叉树是每个结点的左右子树深度之差的绝对值不超过1的__。16.关键码序列为21,12,20,35,40,51,87,33,42,90,2,18,34。步长因子序列为3,1时,一趟希尔排序结果序列为__。17.顺序存储的线性表相对与链接存储的线性表,其优点是__。18.就排序的稳定性而言,简单选择排序方法是__。19.设某无向图G中有n个顶点,用邻接矩阵A作为该图的存储结构,则顶点i和顶点j互为邻接点的条件是________。20.设无向图对应的邻接矩阵为A,则A中第i上非0元素的个数_________第i列上非0元素的个数(填等于,大于或小于)。21.for(i=1,t=1,s=0;i=n;i++){t=t*i;s=s+t;}的时间复杂度为_________。22.设指针变量p指向单链表中结点A,指针变量s指向被插入的新结点X,则进行插入操作的语句序列为__________________________(设结点的指针域为next)。23.设有向图G的二元组形式表示为G=(D,R),D={1,2,3,4,5},R={r},r={1,2,2,4,4,5,1,3,3,2,3,5},则给出该图的一种拓扑排序序列__________。24.设无向图G中有n个顶点,则该无向图中每个顶点的度数最多是_________。25.设二叉树中度数为0的结点数为50,度数为1的结点数为30,则该二叉树中总共有_______个结点数。26.设F和R分别表示顺序循环队列的头指针和尾指针,则判断该循环队列为空的条件为_____________________。27.设二叉树中结点的两个指针域分别为lchild和rchild,则判断指针变量p所指向的结点为叶子结点的条件是_____________________________________________。28.简单选择排序和直接插入排序算法的平均时间复杂度为___________。29.快速排序算法的空间复杂度平均情况下为__________,最坏的情况下为__________。30.散列表中解决冲突的两种方法是_____________和_____________。31.设指针变量p指向双向链表中的结点A,指针变量s指向被插入的结点X,则在结点A的后面插入结点X的操作序列为_________=p;s-right=p-right;__________=s;p-right-left=s;(设结点中的两个指针域分别为left和right)。32.设完全有向图中有n个顶点,则该完全有向图中共有________条有向条;设完全无向图中有n个顶点,则该完全无向图中共有________条无向边。33.设关键字序列为(Kl,K2,…,Kn),则用筛选法建初始堆必须从第______个元素开始进行筛选。34.解决散列表冲突的两种方法是________________和__________________。35.设一棵三叉树中有50个度数为0的结点,21个度数为2的结点,则该二叉树中度数为3的结点数有______个。36.高度为h的完全二叉树中最少有________个结点,最多有________个结点。37.设有一组初始关键字序列为(24,35,12,27,18,26),则第3趟直接插入排序结束后的结果的是__________________________________。38.设有一组初始关键字序列为(24,35,12,27,18,26),则第3趟简单选择排序结束后的结果的是______________
本文标题:数据结构复习题答案
链接地址:https://www.777doc.com/doc-2334041 .html