1、数据结构试题库答案数据结构试题及答案一、单项选择题(1)一个算法应该是()。A) 程序B) 问题求解步骤的描述C) 要满足五个基本属性D) A和C(2)算法指的是( )。A)计算机程序B)解决问题的计算方法C)排序算法D)解决问题的有限运算序列。(3)与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。A)存储结构B)逻辑结构C)算法D)操作(4)从逻辑上可以把数据结构分为( )两大类。A) 动态结构、静态结构 B) 顺序结构、链式结构 C) 线性结构、非线性结构 D) 初等结构、构造型结构 (5)下列叙述中正确的是( )。 A)一个逻辑数据结构只能有一种存储结构B)数据的逻辑结构属
2、于线性结构,存储结构属于非线性结构C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(6)数据的基本单位是()A) 数据项 B) 数据类型 C) 数据元素 D) 数据变量(7)下列程序的时间复杂度为()i=0;s=0;while(sn) i+;s=s+i;A) O() B) O() C) O(n) D) O(n2)(8)下列程序段的渐进时间复杂度为( )。 for( int i=1;i=n;i+) for( int j=1;j= m; j+) Aij = i*j ;A)O(m2) B)O(n2) C
3、)O(m*n) D)(m+n) (9)程序段如下:sum=0; for(i=1;i=n;i+) for(j=1;j=n ; i+)for( j=1; j=n ; j+)x:=x+1;A) O(2n) B)O(n) C) O(n2) D) O(log2n) (11)程序段for ( i:=n-1; i=i ; j+)if (ajaj+1) t=aj; aj= aj+1; aj+1= t;其中 n为正整数,则最后一行的语句频度在最坏情况下是()。A) O(n)B) O(nlogn) C) O(n3) D) O(n2)(12)设有一个递归算法如下:int fact(int n) /* 大于等于0 *
4、/ if ( n=0 ) return 1 ; else return n*fact (n-1) ;则计算fact(n)需要调用该函数的次数为()。A) n B) n+1 C) n+2 D) n-1 (13)下述程序段中语句的频度是()。s=0;for(i=1;im;i+)for(j=0;jnext= =head B) rear-next-next= =head C) head-next= =rear D) head-next-next= =rear(17)从一个长度为n的顺序表中删除第i个元素(1in)时,需向前移动的元素的个数是()。A)n-i B)n-i+1C)n-i-1 D)i(18)
5、已知一个有序表为(13,18,24,35,47,50,62,83,90,115,134),当二分检索值为90的元素时,检索成功需比较的次数是()。A)1 B)2 C)3 D)4(19)假设以行优先顺序存储三维数组R696,其中元素R000的地址为2100,且每个元素占4个存储单元,则存储地址为2836的元素是()。A)R333B) R334C) R435 D) R434(20)设有一个10阶的对称矩阵A,采用压缩存储方式以行序为主序存储,a00为第一个元素,其存储地址为0,每个元素占有1个存储地址空间,则a45的地址为()。A)13 B)35 C)17 D)36(21)线性表采用链式存储时,节
6、点的存储的地址()。A)必须是不连续的B)连续与否均可C)必须是连续的D)和头节点的存储地址相连续(22)用链表表示线性表的优点是()。A) 便于随机存取B) 花费的存储空间比顺序表少C) 数据元素的物理顺序与逻辑顺序相同D) 便于插入与删除(23)链表不具有的特点是()。A) 插入、删除不需要移动元素B) 可随机访问任一元素C) 不必事先估计存储空间D) 所需空间与线性长度成正比(24)在长度为n的顺序表中删除第i个元素(1in)时,元素移动的次数为( )。A) n-i+1 B) iC) i+1 D) n-i(25)采用顺序搜索方法查找长度为n的顺序表示,搜索成功的平均搜索长度为()。A)
7、nB) n/2C) (n-1)/2 D) (n+1)/2(26)将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为()。A) O(1) B) O(n) C) O(m) D) O(m+n)(27)若不带头结点的单链表的头指针为head,则该链表为空的判定条件是( )。A) head=NULL B) head-next=NULLC) head!=NULLD) head-next=head(28)某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。A)单链表B)仅有头指针的单循环链表C) 双链表D) 仅有尾指针的单循环链表(29)若
8、允许表达式内多种括号混合嵌套,则为检查表达式中括号是否正确配对的算法,通常选用的辅助结构是()。A) 栈 B) 线性表 C) 队列 D) 二叉排序树(30)顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素e进栈操作的主要语句为()。A)s.elemtop=e; s.top=s.top+1; B)s.elemtop+1=e;s.top=s.top+1; C)s.top=s.top+1; s.elemtop+1=e; D)s.top=s.top+1;s.elemtop=e; (31)循环队列sq中,用数组elem025存放数据元素,sq.front指示队头元素的前
9、一个位置,sq.rear指示队尾元素的当前位置,设当前sq.front为20,sq.rear为12,则当前队列中的元素个数为()。A)8 B)16 C)17 D)18(32)链式栈与顺序栈相比,一个比较明显的优点是()。A)插入操作更加方便B)通常不会出现栈满的情况C)不会出现栈空的情况D)删除操作更加方便(33)一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来看,通常递归过程比非递归过程()。A)较快B)较慢C)相同D)不定(34)若已知一个栈的入栈序列是1,2,3,4n,其输出序列为p1,p2,p3,pn,若p1= =n,则pi为()。A) i B) n= =i
10、C) n-i+1 D)不确定(35)一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是( ) 。A) edcba B) decba C) dceab D) abcde(36)若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则不可能出现的出栈序列是( )。A) 2,4,3,1,5,6B) 3,2,4,1,6,5C) 4,3,2,1,5,6 D) 2,3,5,1,6,4(37)对于栈操作数据的原则是()。A)先进先出B)后进先出C)后进后出D)不分顺序(38)栈和队列的共同点是()。A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素D)没有共同点(39)一个
11、队列的入队序列是1,2,3,4,则队列的输出序列是()。A) 4,3,2,1 B) 1,2,3,4 C)1,4,3,2 D) 3,2,4,1(40)设数组datam作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出对操作后其头指针front值为()。A) front=front+1 B) front=(front+1)%(m-1) C) front=(front-1)%m D) front=(front+1)%m(41)引起循环队列队头位置发生变化的操作是( )。A)出队B)入队C)取队头元素D)取队尾元素(2)设以数组Am存放循环队列的元素,其头尾指针分别为fro
12、nt和rear,则当前队列中的元素个数为( )。A)(rear-front+m)%m B)rear-front+1C)(front-rear+m)%m D)(rear-front)%m(42)二维数组A1218采用列优先的存储方法,若每个元素各占3个存储单元,且A00地址为150,则元素A97的地址为( )。A) 429B)432C) 435 D) 438(43)设有一个10阶的对称矩阵A1010,采用压缩方式按行将矩阵中下三角部分的元素存入一维数组B中,A00存入B0中,则A85在B中()位置。A) 32B)33C) 41D) 65(44)若对n阶对称矩阵A以行序为主序方式将其下三角形的元素
13、(包括主对角线上所有元素)依次存放于一维数组B1.(n(n+1)/2中,则在B中确定aij(ij)的位置k的关系为( )。A) i*(i-1)/2+j B) j*(j-1)/2+i C) i*(i+1)/2+j D) j*(j+1)/2+i(45)对稀疏矩阵进行压缩存储目的是()。A) 便于进行矩阵运算B) 便于输入和输出C) 节省存储空间D) 降低运算的时间复杂度(46)对广义表L=(a,b),(c,d),(e,f)执行操作tail(tail(L)的结果是( )。A) (e,f) B) (e,f)C) (f) D) ( )(47)设广义表L=(a,b,c),则L的长度和深度分别为()。A)
14、1和1 B) 1和3 C) 1和2 D) 2和3(48)树中所有结点的度之和等于所有结点数加()。A) 0 B)1 C)-1 D) 2(49)在一棵具有n个结点的二叉链表中,所有结点的空域个数等于()。A) n B) n-1 C) n+1 D) 2*n(50)某二叉树的先序序列和后序序列正好相反,则该二叉树一定是()的二叉树。A)空或只有一个结点B)高度等于其节点数C)任一结点无左孩子D)任一结点无右孩子(51)含有10个结点的二叉树中,度为0的结点数为4,则度为2的结点数为() A)3 B)4 C)5 D)6(52)除第一层外,满二叉树中每一层结点个数是上一层结点个数的()A)1/2倍 B)
15、1倍 C) 2倍 D) 3倍(53)对一棵有100个结点的完全二叉树按层编号,则编号为49的结点,它的父结点的编号为()A)24 B)25 C)98 D)99(54)可以惟一地转化成一棵一般树的二叉树的特点是()A)根结点无左孩子 B)根结点无右孩子 C)根结点有两个孩子 D)根结点没有孩子(55)设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为()。A) 2h B) 2h-1 C) 2h+1 D) h+1(56)在一棵度为3的树中,度为3的节点个数为2,度为2的节点个数为1,则度为0的节点个数为()。A)4 B)5 C)6 D)7(57)设森林F对应的二叉树为
16、B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵子树的结点个数是()。A)m-nB)m-n-1 C) n+1 D) 条件不足,无法确定(58)将一株有100个节点的完全二叉树从上到下,从左到右依次进行编号,根节点的编号为1,则编号为49的节点的左孩子编号为()。A) 98B)89 C) 50 D)没有孩子(59)下列图示的顺序存储结构表示的二叉树是(A ) (60)树最适合用来表示()。A)有序数据元素B)无序数据元素C)元素之间具有分支层次关系的数据D)元素之间无联系的数据(61)在一个非空二叉树的中序遍历序列中,根结点的右边()。A)只有右子树上的所有结点B)只有右子树
17、上的部分结点C)只有左子树的上的部分结点D)只有左子树上的所有结点(62)任何一棵二叉树的叶结点在先序、中序和后序遍历序列中相对次序()。A)不发生改变B)发生改变C)不能确定D)以上都不对(63)在有n个叶子结点的哈夫曼树中,其结点总数为()。A)不确定B) 2n C)2n+1 D)2n-1(64)权值为1,2,6,8的四个结点构成的哈夫曼树的带权路径长度是()。A) 18 B)28 C) 19 D) 29(65)对一个满二叉树,m个树叶,k个分枝结点,n个结点,则()。A) n=m+1 B) m+1=2n C) m=k-1 D) n=2k+1(66)在含有n个顶点和e条边的无向图的邻接矩阵
18、中,零元素的个数为()。A) e B) 2e C)n2-e D)n2-2e(67)若采用邻接矩阵翻存储一个n个顶点的无向图,则该邻接矩阵是一个()。A)上三角矩阵B)稀疏矩阵C)对角矩阵D)对称矩阵(68)在一个图中,所有顶点的度数之和等于所有边数的()倍。A) 1/2 B)1 C)2 D)4(69)在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的()倍。A)1/2 B)1 C)2 D)4(70)对于含n个顶点和e条边的图,采用邻接矩阵表示的空间复杂度为()。A) O(n) B) O(e) C) O(n+e) D) O(n2)(71)如果求一个连通图中以某个顶点为根的高度最小的生成树
19、,应采用()。A) 深度优先搜索算法 B) 广度优先搜索算法C) 求最小生成树的prim算法 D) 拓扑排序算法(72)n个顶点的连通图至少中含有( )。A)n-1 B) n C)n+1 D)0(73)n个顶点的完全有向图中含有( )。A) n-1条有向边B) n条有向边C) n(n-1)/2条有向边D) n(n-1)条有向边(74)假设一个有n个顶点和e条弧的有向图用邻接表表示,则删除预某个顶点vi相关的所有弧的时间复杂度是()。A) O(n) B) O(e) C) O(n+e) D)O(n*e) (75)在无向图中定义顶点Vi域Vj之间的路径为从Vi到达Vj的一个()。A)顶点序列B)边序
20、列C)权值总和D)边的条数(76)无向图G=(V,E),其中:V=a,b,c,d,e,f, E=(a,b),(a,e),(a,c),(b,e),(c,f), (f,d),(e,d),对该图进行深度优先遍历,得到的顶点序列正确的是()。A) a,b,e,c,d,f B) a,c,f,e,b,d C) a,e,b,c,f,d D) a,e,d,f,c,b(77)下面哪一方法可以判断出一个有向图是否有环(回路)。A) 求节点的度B)拓扑排序C)求最短路径D)求关键路径(78)图的广度优先搜索类似于树的()次序遍历。A)先根B)中根C)后根D)层次(79)在图采用邻接表存储时,求最小生成树的 Prim
21、 算法的时间复杂度为( )。A) O(n) B) O(n+e) C) O(n2) D) O(n3)(80)已知有向图G=(V,E),其中V=V1,V2,V3,V4,V5,V6,V7,E=, ,G的拓扑序列是()。A) V1,V3,V4,V6,V2,V5,V7B) V1,V3,V2,V6,V4,V5,V7C) V1,V3,V4,V5,V2,V6,V7D) V1,V2,V5,V3,V4,V6,V7(81)关键路径是事件结点网络中()。A) 从源点到汇点的最长路径B) 从源点到汇点的最短路径C) 最长回路D) 最短回路(82)有n个结点的有向完全图的弧数是()。A) n2 B) 2n C)n(n-1
22、) D) 2n(n+1)(83)设图的邻接链表如题12图所示,则该图的边的数目是()。A) 4 B)5 C) 10 D) 20(84)在一个图中,所有顶点的度数之和等于图的边数的()倍。A)1/2 B)1 C) 2 D) 4 (85)在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的()倍。A)1/2 B)1 C) 2 D) 4 (86)有8个结点的无向图最多有()条边。A)14 B)28 C) 56 D) 112 (87)有8个结点的无向连通图最少有()条边。A)5 B)6 C) 7 D) 8 (88)有8个结点的有向完全图有()条边。A)14 B)28 C) 56 D) 112 (
23、89)用邻接表表示图进行广度优先遍历时,通常是采用()来实现算法的。A)栈 B) 队列 C) 树 D) 图 (90)用邻接表表示图进行深度优先遍历时,通常是采用()来实现算法的。A)栈 B) 队列 C) 树 D) 图 (91)已知图的邻接矩阵,根据算法思想,则从顶点0出发按深度优先遍历的结点序列是()。A) 0 2 4 3 1 5 6 B)0 1 3 6 5 4 2 C) 0 4 2 3 1 6 5 D) 0 3 6 1 5 4 2建议:0 1 3 4 2 5 6(92)已知图的邻接矩阵同上题8,根据算法,则从顶点0出发,按深度优先遍历的结点序列是()。A) 0 2 4 3 1 5 6 B)
24、0 1 3 5 6 4 2 C) 0 4 2 3 1 6 5 D) 0 1 3 4 2 5 6(93)已知图的邻接矩阵同上题8,根据算法,则从顶点0出发,按广度优先遍历的结点序列是()。A) 0 2 4 3 6 5 1 B) 0 1 3 6 4 2 5 C) 0 4 2 3 1 5 6 D) 0 1 3 4 2 5 6(建议:0 1 2 3 4 5 6)(94)已知图的邻接矩阵同上题8,根据算法,则从顶点0出发,按广度优先遍历的结点序列是()。A) 0 2 4 3 1 6 5 B) 0 1 3 5 6 4 2 C) 0 1 2 3 4 6 5 D) 0 1 2 3 4 5 6(95)已知图的邻
25、接表如下所示,根据算法,则从顶点0出发按深度优先遍历的结点序列是()。A) 1 3 2 B) 0 2 3 1 C) 0 3 2 1 D)0 1 2 3(96)已知图的邻接表如下所示,根据算法,则从顶点0出发按广度优先遍历的结点序列是()。A) 0 3 2 1 B) 0 1 2 3 C) 0 1 3 2 D) 0 3 1 2(97)深度优先遍历类似于二叉树的( )。A)先序遍历 B) 中序遍历 C) 后序遍历 D) 层次遍历(98)广度优先遍历类似于二叉树的( )。A)先序遍历 B) 中序遍历 C) 后序遍历 D) 层次遍历(99)任何一个无向连通图的最小生成树( )。A)只有一棵 B) 一棵或
26、多棵 C) 一定有多棵 D) 可能不存在(注,生成树不唯一,但最小生成树唯一,即边权之和或树权最小的情况唯一)(100)在分析折半查找的性能时常常加入失败节点,即外节点,从而形成扩充的二叉树。若设失败节点i所在层次为Li,那么查找失败到达失败点时所做的数据比较次数是()。A) Li+1 B) Li+2 C) Li-1 D) Li (101)向一个有127个元素原顺序表中插入一个新元素并保存原来顺序不变,平均要移动()个元素。A) 8 B) 63.5 C) 63 D) 7 (102)由同一组关键字集合构造的各棵二叉排序树( )。A) 其形态不一定相同,但平均查找长度相同B) 其形态不一定相同,平
27、均查找长度也不一定相同C) 其形态均相同,但平均查找长度不一定相同D) 其形态均相同,平均查找长度也都相同(103)衡量查找算法效率的主要标准是()。A) 元素的个数 B) 所需的存储量 C) 平均查找长度 D) 算法难易程度(104)适合对动态查找表进行高效率查找的组织结构是()。A) 有序表 B) 分块有序表C) 二叉排序树 D) 快速排序(3)能进行二分查找的线性表,必须以()。A) 顺序方式存储,且元素按关键字有序B) 链式方式存储,且元素按关键字有序C) 顺序方式存储,且元素按关键字分块有序D) 链式方式存储,且元素按关键字分块有序(105)为使平均查找长度达到最小,当由关键字集合0
28、5,11,21,25,37,40,41,62,84构建二叉排序树时,第一个插入的关键字应为()A) 5 B)37 C) 41 D) 62(106)对关键字序列(56,23,78,92,88,67,19,34)进行增量为3的一趟希尔排序的结果为( )。A) (19,23,56,34,78,67,88,92) B) 23,56,78,66,88,92,19,34)C) (19,23,34,56,67,78,88,92)D) (19,23,67,56,34,78,92,88)(107)用某种排序方法对关键字序列35,84,21,47,15,27,68,25,20进行排序时,序列的变化情况如下:20,15,21,25,47,27,68,35,8415,20,21,25
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1