您好,欢迎访问三七文档
数据结构(一)一、选择题1.组成数据的基本单位是(C)。(A)数据项(B)数据类型(C)数据元素(D)数据变量2.设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={1,2,2,3,3,4,4,1},则数据结构A是(C)。(A)线性结构(B)树型结构(C)图型结构(D)集合3.数组的逻辑结构不同于下列(D)的逻辑结构。(A)线性表(B)栈(C)队列(D)树4.二叉树中第i(i≥1)层上的结点数最多有(C)个。(A)2i(B)2i(C)2i-1(D)2i-15.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为(A)。(A)p-next=p-next-next(B)p=p-next(C)p=p-next-next(D)p-next=p6.设栈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)27.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为(C)。(A)100(B)40(C)55(D)808.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为(B)。(A)3(B)4(C)5(D)19.根据二叉树的定义可知二叉树共有(B)种不同的形态。(A)4(B)5(C)6(D)710.设有以下四种排序方法,则(B)的空间复杂度最大。(A)冒泡排序(B)快速排序(C)堆排序(D)希尔排序11、以下说法正确的是(A)A.连通图的生成树,是该连通图的一个极小连通子图。B.无向图的邻接矩阵是对称的,有向图的邻接矩阵一定是不对称的。C.任何一个有向图,其全部顶点可以排成一个拓扑序列。D.有回路的图不能进行拓扑排序。12、以下说法错误的是(D)A.一般在哈夫曼树中,权值越大的叶子离根结点越近B.哈夫曼树中没有度数为1的分支结点C.若初始森林中共有n裸二叉树,最终求得的哈夫曼树共有2n-1个结点D.若初始森林中共有n裸二叉树,进行2n-1次合并后才能剩下一棵最终的哈夫曼树13、如果从无向图的任一顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定是(B)A.完全图B.连通图C.有回路D.一棵树14、将一棵有50个结点的完全二叉树按层编号,则对编号为25的结点x,该结点(B)A.无左、右孩子B.有左孩子,无右孩子C.有右孩子,无左孩子D.有左、右孩子15、深度为6的二叉树最多有(B)个结点A.64B.63C.32D.3116、一个有序顺表有255个对象,采用顺序搜索法查表,搜索长度为(A)。A、128B、127C、126D、25517、在有向图中每个顶点的度等于该顶点的(C)。A.入度B.出度C.入度与出度之和D.入度与出度之差18、具有n个顶点的有向无环图最多可包含(D)条有向边。A.n-1B.nC.n(n-1)/2D.n(n-1)19、用邻接表作为有向图G的存储结构。设有n个顶点、e条弧,则拓扑排序的时间复杂度为(B)A.O(n)B.O(n+e)C.O(e)D.O(n*e)20、一个有序顺表有255个对象,采用顺序搜索法查表,搜索长度为(A)。A、128B、127C、126D、25521、在有向图中,所有顶点的入度之和是所有顶点出度之和的(B)倍。A.0.5B.1C.2D.422、以下说法错误的是(B)A.用相邻矩阵法存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小只与图中结点个数有关,而与图的边数无关。B.邻接表法只能用于有向图的存储,而相邻矩阵法对于有向图和无向图的存储都适用。C.存储无向图的相邻矩阵是对称的,因此只要存储相邻矩阵的下(或上)三角部分就可以了D.用相邻矩阵A表示图,判定任意两个结点Vi和Vj之间是否有长度为m的路径相连,则只要检查A的第i行第j列的元素是否为0即可。23、在图的邻接表存储结构上执行深度优先搜索遍历类似于二叉树上的(A)A.先根遍历B.中根遍历C.后根遍历D按层次遍历24、在一个无向图中,所有顶点的度数之和等于所有边数的(B)倍。A.3B.2C.1D.1/225、在无向图中,所有顶点的度数之和是所有边数的(C)倍。A.0.5B.1C.2D.426、设有6个结点的无向图,该图至少应有(B)条边能确保是一个连通图。A.5B.6C.7D.827、以下说法正确的是(D)A.连通分量是无向图中的极小连通子图。B.强连通分量是有向图中的极大强连通子图。C.在一个有向图的拓扑序列中,若顶点a在顶点b之前,则图中必有一条弧a,b。D.对有向图G,如果从任意顶点出发进行一次深度优先或广度优先搜索能访问到每个顶点,则该图一定是完全图。二、填空题1.设顺序循环队列Q[0:m-1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为F=____________;。2.设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为___________,在链式存储结构上实现顺序查找的平均时间复杂度为___________。3.设一棵二叉树中有n个结点,则当用二叉链表作为其存储结构时,该二叉链表中共有________个指针域,__________个空指针域。4.设指针变量p指向单链表中结点A,指针变量s指向被插入的结点B,则在结点A的后面插入结点B的操作序列为______________________________________。5.设无向图G中有n个顶点和e条边,则其对应的邻接表中有_________个表头结点和_________个表结点。6.设无向图G中有n个顶点e条边,所有顶点的度数之和为m,则e和m有______关系。7.设一棵二叉树的前序遍历序列和中序遍历序列均为ABC,则该二叉树的后序遍历序列为__________。8.设一棵完全二叉树中有21个结点,如果按照从上到下、从左到右的顺序从1开始顺序编号,则编号为8的双亲结点的编号是___________,编号为8的左孩子结点的编号是_____________。9.下列程序段的功能实现子串t在主串s中位置的算法,要求在下划线处填上正确语句。intindex(chars[],chart[]){i=j=0;while(istrlen(s)&&jstrlen(t))if(s[i]==t[j]){i=i+l;j=j+l;}else{i=_______;j=______;}if(j==strlen(t))return(i-strlen(t));elsereturn(-1);}10.设一个连通图G中有n个顶点e条边,则其最小生成树上有________条边。三、应用题1.设完全二叉树的顺序存储结构中存储数据ABCDE,要求给出该二叉树的链式存储结构并给出该二叉树的前序、中序和后序遍历序列。2.设给定一个权值集合W=(3,5,7,9,11),要求根据给定的权值集合构造一棵哈夫曼树并计算哈夫曼树的带权路径长度WPL。3.设一组初始记录关键字序列为(19,21,16,5,18,23),要求给出以19为基准的一趟快速排序结果以及第2趟直接选择排序后的结果。4.设一组初始记录关键字集合为(25,10,8,27,32,68),散列表的长度为7,散列函数H(k)=kmod7,要求用线性探测法作为解决冲突的方法设计哈希表。5.设无向图G(所右图所示),要求给出该图的深度优先和广度优先遍历的序列,并画给相应的生成树(一)参考答案二、填空题1.(F+1)%m2.O(n),O(n)3.2n,n+14.s-next=p-next;s-next=s5.n,2e6.m=2e7.CBA8.4,169.i-j+1,010.n-1三、应用题1.链式存储结构略,前序ABDEC,中序DBEAC,后序DEBCA。2.哈夫曼树略,WPL=783.(18,5,16,19,21,23),(5,16,21,19,18,23)4.线性探测:6827322510876543210数据结构(二)一、选择题1.下面关于线性表的叙述错误的是()。(A)线性表采用顺序存储必须占用一片连续的存储空间(B)线性表采用链式存储不必占用一片连续的存储空间(C)线性表采用链式存储便于插入和删除操作的实现(D)线性表采用顺序存储便于插入和删除操作的实现2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。(A)2m-1(B)2m(C)2m+1(D)4m3.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()。(A)R-F(B)F-R(C)(R-F+M)%M(D)(F-R+M)%M4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。(A)BADC(B)BCDA(C)CDAB(D)CBDA5.设某完全无向图中有n个顶点,则该完全无向图中有()条边。(A)n(n-1)/2(B)n(n-1)(C)n2(D)n2-16.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。(A)9(B)10(C)11(D)127.设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。(A)n-1(B)n(C)n+1(D)2n-18.设一组初始记录关键字序列(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,8二、填空题1.为了能有效地应用HASH查找技术,必须解决的两个问题是____________________和__________________________。2.下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句。typedefstruct{ints[100];inttop;}sqstack;voidpush(sqstack&stack,intx){if(stack.top==m-1)printf(“overflow”);else{____________________;_________________;}}3.中序遍历二叉排序树所得到的序列是___________序列(填有序或无序)。4.快速排序的最坏时间复杂度为___________,平均时间复杂度为__________。5.设某棵二叉树中度数为0的结点数为N0,度数为1的结点数为N1,则该二叉树中度数为2的结点数为_________;若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有_______个空指针域。6.设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,则e=_______。7.设一组初始记录关键字序列为(55,63,44,38,75,80,31,56),则利用筛选法建立的初始堆为___________________________。8.设某无向图G的邻接表为31241314234321vvvv,则从顶点V1开始的深度优先遍历序列为___________;广度优先遍历序列为____________。三、应用题1.设一组初始记录关键字序列为(45,80,47,40,20,78),则分别给出第4趟简单选择排序和第4趟直接插入排序后的结果。2.设指针变量p指向双向链表中结点A,指针变量q指向被插入结点B,要求给出在结点A的后面插入结点B的操作序列(设双向链表中结点的两个指针域分别为llink和rlink)。3.设一组有序的记录关键字序列为(13,18,24,35,47,50,62,83,90),查找方法用二分查找,要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度。4.设一棵树T中边的集合为{
本文标题:数据结构综合练习题
链接地址:https://www.777doc.com/doc-2347255 .html