数据结构期末复习题题库.docx
假设一个有n个顶点和e条弧的有向图用邻接表表示,那么删除预某个顶点vi相关的所有 弧的时间复杂度是()o (A)、0(n)(B)、0(e)(C)、0(n+e)(D)、0(n*e)用邻接表表示图进行广度优先遍历时,通常是采用( 队列 (C)、树 (D)、图)来实现算法的。(A)、栈(B)、关于栈和队列的说法中正确的选项是()(A)、栈和队列都是线性结构(B)、栈是线性结构,队列不是线性结构(C)、栈不是线性结构,队列是线性结构(D)、栈和队列都 不是线性结构对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列进行同样的 排序操作,直到子序列为空或只剩下一个元素为止。这样的排序方法是()0 (A)、直 接选择排序(B)、直接插入排序(C)、快速排序(D)、冒泡排序栈的数组表示中,top为栈顶指针,栈空的条件是()0 (A)、top=0 (B)、top=maxSize(C)、top=maxSize (D)、top=-l一个数组兀素ai与 &a+i()的表示等价。(A)、* (a+i)(B)、a+l (C)、*a+l (D)、在一个具有n个顶点的无向图中,假设具有e条边,那么所有顶点的度数之和为()o (A)、 n (B)、e (C)、n+e (D)、2e在索引查找中,假设用于保存数据元素的主表的长度为n,它被均分为k个子表,每个子表 的长度均为n/k,那么索引查找的平均查找长度为()0 (A)、n+k (B)、k+n/k (C)、 (k+n/k)/2(D)、(k+n/k)/2+l设有一个栈,按A、B、C、D的顺序进栈,那么可能为出栈序列的是()(A)、DCBA (B)、CDAB (C)、DBAC (D)、DCAB数据的四种基本存储结构是指()(A)、顺序存储结构、索引存储结构、直接存储结构、倒排存储结构 、顺序存储结构、索引存储结构、链式存储结构、散列存储结构 (C)、顺序存储结构、非顺序存储结构、指针存储结构、树型存储结构(D)、顺序存储结 构、链式存储结构、树型存储结构、图型存储结构数据的基本单位是( 据变量)(A)、数据项 (B)、数据类型(C)、数据兀素(D)、数假设采用邻接表存储结构,那么图的深度优先搜索类似于二叉树的()(A)、先根遍历(B)、中根遍历(C)、后根遍历(D)、层次遍历对于长度为n的顺序表执行删除操作,那么其结点的移动次数()(A)、最少为0,最多为n (B)、最少为1,最多为n (C)、最少为0,最多为n-1(D)、最少为1,最多为n-1在一个图中,所有顶点的度数之和等于所有边数的2(D)、4()倍。(A)、1/2(B)、1(C)、深度为k的二叉树至多有()(A)、2k个结点 (B)、2k-l个结点 (C)、2k-l个结点(D)、2k-l-l 个结点for (i=0 ; i<m ; i + + )for (j=0 ; j<n ; j+ + )A iD=i*j ;上面算法的时间复杂度为()(A)、0(m2)(B)、0(n2)(C)、O(mxn) (D)、0(m+n)根据数据兀素的关键字直接计算出该兀素存储地址的存储方法是()(A)、顺序存储 方法 (B)、链式存储方法(C)、索引存储方法(D)、散列存储方法右孩子 (C)、空 (D)、非空假设不带头结点的单链表的头指针为head,那么该链表为空的判定条件是()(A)、 head二二NULL(B)、 head->next= = NULL(C)、 head!=NULL(D)、head->next= = head用叉链表表不具有n个结点的叉树时,值为空的指针域的个数为()(A)、n-1(B)、n (C)、n+l (D)、2n某二叉树的前序遍历序列为ABDGCEFH,中序遍历序列为DGBAECHF,那么后序遍历序列为 ()(A)、BDGCEFHA (B)、GDBECFHA (C)、BDGAECHF (D)、GDBEHFCA设栈S和队列Q的初始状态为空,兀素EL E2、E3、E4、E5和E6依次通过栈S, 一个 元素出栈后即进入队列Q,假设6个元素出列的顺序为E2、E4、E3、E6、E5和E1,那么栈S的容量至少应该是()o (A)、6(B)、4(C)、3(D)、2在一个单链表中,假设p所指结点不是最后结点,那么删除p所指结点的后继结点的正确操 作是()(A)、p=p->next (B)、p->next=p->next (C)、p->next=p->next->next(D)、p->next=p栈和队列都是()o (A)、限制存取位置的线性结构(B)、顺序存储的线性结构(C)、链式存储的线性结构(D)、限制存取位置的非线性结构从逻辑上可以把数据结构分为().(A)、动态结构、静态结构(B)、顺序结构、链式结构(C)、线性结构、非线性结构(D)、初等结构、构造型结构两个字符串相等的条件是()。(A)、两串的长度相等 (B)、两串包含的字符相同(C)、 两串的长度相等,并且两串包含的字符相同(D)、两串的长度相等,并且对应位置上的 字符相同一个顺序存储的线性表,设每个结点需占m个存储单兀,假设第一个结点的地址为dal, 那么第 1 个结点的地址为( )o(A)sdal+(l-l)*m (B)、dal+I*m (C)s dal-l*m (D)、 dal+(l+l)*m深度为k的完全二叉树中最少有()个结点。(A)、2k-l-l (B)、2k-1(C)、2k-l+l(D)、 2k-l与数据元素本身的形式、内容、相对位置、个数无关的是数据的()o (A)、存储结构 (B)、逻辑结构(C)、算法(D)、操作设用邻接矩阵A表示有向图G的存储结构,那么有向图G中顶点i的入度为()。(A)、第 i行非0元素的个数之和 (B)、第i列非0元素的个数之和 (C)、第i行。元素的个数 之和 (D)、第i列0元素的个数之和在顺序表中,只要知道 址 (B)、结点大小 (),就可在相同时间内求出任一结点的存储地址。(A)、基地C)、向量大小 (D)、基地址和结点大小无向图中一个顶点的度是指图中()(A)、通过该顶点的简单路径数 (B)、与该顶点相邻接的顶点数 (C)、通过该顶点的回路数(D)、与该顶点连通的顶点数在有n个叶子结点的哈夫曼树中,其结点总数为()o (A)、不确定(B)、2n (C)、 2n + l (D)、2n-l下面关于图的存储的表达中正确的选项是()。(A)、用邻接矩阵法存储图,占用的存储空间 大小只与图中结点个数有关,而与边数无关(B)、用邻接矩阵法存储图,占用的存储空 间大小只与图中边数有关,而与结点个数无关(C)、用邻接表法存储图,占用的存储空间大小 只与图中结点个数有关,而与边数无关(D)、用邻接表法存储图,占用的存储空间大小 只与图中边数有关,而与结点数无关设数组Am为循环队列Q的存储空间,front为队头指针,rear为队尾指针,那么判定Q为 空队列的条件是()(A)X (rear-front)%m= =1 (B)、front= =rear (C)s (rear-front)%m= m-l (D)、front= =(rear+l)%m关于存储相同数据元素的说法中正确的选项是( )(A)、顺序存储比链式存储少占空间 (B)、顺序存储比链式存储多占空间(C)、顺序存储和链式存储都要求占用整块存储空间 (D)、链式存储比顺序存储难于扩充空间在对n个关键字进行直接选择排序的过程中,每一趟都要从无序区选出最小关键字兀素, 那么在进行第i趟排序之前,无序区中关键字元素的个数为()(A)、i (B)、i + 1(C)、n-i (D)、n-i+1假设一个图的边集为(A,B),(A,C),(B,D),(C,F),(D,E),(D,F),那么从顶点A开始对该图进行广度优先 搜索,得到的顶点序列可能为()°(A)、A,BCD,E,F (B)、A,BCF,D,E (C)、A,B,D,C,E,F(D)、A,C,B,F,D,E设单链表中指针p指向结点A,要删除A之后的结点(假设存在),那么修改指针的操作为()(A)、p->next=p->next->next(B)、p=p->next (C)、p=p->next->next(D)s p->next=p卜面程序段的时间复杂度为()for (int i=0;i<m;i+) for(intj=0;j<n;j+)(A)、0(m2)(B)、0(n2)(C)、O(m*n) (D)、O(m + n)采用顺序搜索方法查找长度为n的顺序表示,搜索成功的平均搜索长度为()。(A)、 n (B)、n/2(C)、(n-l)/2(D)、(n+l)/2线性表的顺序存储结构是一种()的存储结构。(A)、随机存取(B)、顺序存取 (C)、索引存取(D)、散列存取数据结构中,与所使用的计算机无关的是数据的( (C)、逻辑 (D)、物理和存储)结构;(A)、存储(B)、物理设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,那么编号为i结点 的左孩子结点的编号为()0 (A)、2i + l(B)、2i (C)、i/2(D)、2i-l向一个栈顶指针为hs的链栈中插入一个s结点时,应执行()。(A)、hs->next=s ;(B)、s->next=hs ; hs=s ;(C)、s->next=hs->next ; hs->next=s ;(D)、s->next=hs ;hs=hs->next ;数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为()。(A)、存储结 构(B)、逻辑结构(C)、链式存储结构(D)、顺序存储结构设无向图G中有n个顶点,那么该无向图的最小生成树上有()条边。(A)、n (B)、n-1(C)、2n (D)、2n-l设一组记录的关键字key值为62, 50, 14, 28, 19, 35, 47, 56, 83),散列函数为H(key)二key mod 13,那么它的开散列表中散列地址为1的链中的结点个数是()(A)、1(B)、2(C)、3(D)、4求单链表中当前结点的后继和前驱的时间复杂度分别是()(A)、0 (n)和0(1)(B)、0 (1)和。(1)(C)、0 (1)和。(n)(D)、0(n)和 0 (n)以下排序方法中,稳定的排序方法为()(A)、希尔排序(B)、堆排序(C)、快速排序(D)、直接插入排序(C()二叉排序树可以得到一个从小到大的有序序列。(A)、先序遍历 (B)、中序遍历;)、后序遍历(D)、层次遍历由权值分别为IL 8, 6, 2, 5的叶子结点生成一棵哈夫曼树,它的带权路径长度为() (A)、24(B)、71(C)、48(D)、53在头指针为head且表长大于1的单循环链表中,指针p指向表中某个结点,假设p->next- >next= head,pllj( )。(A)、p 指向头结点 (B)、p 指向尾结点 (C)、*p 的直 接后继是头结点 (D)、*P的直接后继是尾结点在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指 针,那么判断队空的条件为()0 (A)、rear%n= = front (B)、front+l= rear (C)、rear二 二 front (D)、(rear+l)%n= front在无向图中定义顶点Vi域Vj之间的路径为从Vi到达Vj的一个()。(A)、顶点序列(B)、边序列 (C)、权值总和(D)、边的条数设哈夫曼树中的叶子结点总数为m,假设用二叉链表作为存储结构,那么该哈夫曼树中总共有()个空指针域。(A)、2m-l (B)、2m (C)、2m+l (D)、4m有8个结点的无向连通图最少有()条边。(A)、5(B)、6(C)、7(D)、8假设<vi, vj是有向图的一条边,那么称()(A)、vi邻接于vj (B)、vj邻接于vi (C)、vi和vj相互邻接 (D)、vi与vj不相邻接设指针变量top指向当前链式栈的栈顶,那么删除栈顶元素的操作序列为()。(A)、 top=top+l; (B)、top=top-l; (C)、top->next=top; (D)、top=top->next;为使平均查找长度到达最小,当由关键字集合05,11,21,25,37,40,41,62,84构建二叉排序树时,第一个插入的关键字应为()(A)、5(B)、37(C)、41(D)、62顺序查找不管在顺序线性表中还是在链式线性表中的时间复杂度为()。(A)、0(n)""(B)?0(n2)(C)、0(nl/2)(D)、O(log2n)设h是指向非空带表头结点的循环链表的头指针,p是辅助指针。执行程序段p二h;while (p->next->next! = h)p=p->next;p->next=h;后(其中,p->next为p指向结点的指针域),贝IJ()(A)、p->next指针指向链尾结点(B)、h指向链尾结点(C)、删除链尾前面的结点(D)、删除链尾结点排序算法中,第一趟排序后,任一元素都不能确定其最终位置的算法是()。(A)、选择排序(B)、快速排序 (C)、冒泡排序 (D)、插入排序用顺序存储的方法将完全二叉树中的所有结点逐层存放在数组中结点Ri假设有左 孩子,其左孩子的编号为结点()o (A)、R2i + 1 (B)、R2i (C)、Ri/2 (D)、R2i- 口在对n个元素进行冒泡排序的过程中,最好情况下的时间复杂度为()。(A)、0(1) (B). O(log2n) (C). 0(n2) (D)s 0(n)以下四种排序中()的空间复杂度最大。(A)、快速排序(B)、冒泡排序(C)、希尔 排序 (D)、堆在有向图中每个顶点的度等于该顶点的()。(A)、入度(B)、出度(C)、入度与出 度之和 (D)、入度与出度之差假设根据查找表(23,44,36,48,52,73,64,58)建立哈希表,采用h(K)=K%13计算哈希地址,那么元 素 64 的哈希地址为()。(A)、4(B)、8(C)、12(D)、13设某哈夫曼树中有199个结点,那么该哈夫曼树中有()个叶子结点。(A)、99(B)、100 (C)、101(D)、102下面选项中,()不是图的存储方法。(A)、孩子兄弟链表(B)、邻接链表(C)、逆邻接链表(D)、邻接矩阵栈的最大容量为4。假设进栈序列为L 2, 3, 4, 5, 6,且进栈和出栈可以穿插进行 那么可能出现的出栈序列为()(A)、5, 4, 3, 2, 1, 6(B)、2, 3, 5, 6, 1, 4(C)、3, 2, 5, 4, 1, 6(D)、1, 4, 6, 5, 2, 3在一个具有n个结点的有序单链表插入一个新结点并仍然有序的时间复杂度是()7(A)、0(1)(B)、0(n2)(C)、0(n)(D)、O(nlog2n)如果求一个连通图中以某个顶点为根的高度最小的生成树,应采用()(A)、深度优先搜索算法(B)、广度优先搜索算法(C)、求最小生成树的prim算法(D)、拓扑排 序算法设某无向图有n个顶点,那么该无向图的邻接表中有()个表头结点。(A)、2n(B)、n (C)、n/2(D)、n(n-l)栈和队列共同具有的特点是()(A)、都是先进后出(B)、都是先进先出只允许在端点进行操作运算(D)、既能先进先出,也能先进后出图的深度、广度优先遍历算法分别类似于二叉树的().(A)、先序遍历和中序遍历(B)?先序遍历和层序遍历(C)、后序遍历和中序遍历(D)、层序遍历和先序遍历设一个栈的输入序列是a, b, c, d,那么所得到的输出序列(输入过程中允许出栈)不可 能出现的是()(A)、a, b, c, d (B)、a, b, d, c (C)、d, c, b, a (D)、c,d, a, b带权有向图G用邻接矩阵A存储,那么顶点i的入度等于A中()。(A)、第i行非。的元素之和 (B)、第i列非0的元素之和 (C)、第i行非0的元素个数 (D)、第i列 非0的元素个数以下关于线性表的表达中,不正确的选项是()(A)、线性表是n个结点的有穷序列(B)?线性表可以为空表(C)、线性表的每一个结点有且仅有一个前趋和一个后继(D)、线 性表结点间的逻辑关系是1:1的联系在一个非空二叉树的中序遍历序列中,根结点的右边().(A)、只有右子树上的所有 结点 (B)、只有右子树上的局部结点 (C)、只有左子树的上的局部结点 (D)、只有左 子树上的所有结点在对查找表的查找过程中,假设被查找的数据元素不存在,那么把该数据元素插入到集合中。 这种方式主要适合于()(A)、静态查找表(B)、动态查找表(C)、静态查找表与动态查找表(D)、静态查找表或动态查找表下面程序段的时间复杂度为()s二 0 ;for(i=l ; i<n ; i+)for(j=l ; j<i ; j+)s+=i*j ; (A)、0Q)(B)、O(logn) (C)、0(n)(D)、0(n2)算法分析的两个主要方面是:(A)、空间复杂性和时间复杂性(B)、正确性和简明性 (C)、可读性和文档性(D)、数据复杂性和程序复杂性设有一个栈,元素的进栈次序为A,B, C,D, E,以下是不可能的出栈序列()。(A)、A,B,C, D, E (B)、B, C, D, E, A (C)、E, A, B, C, D (D)、E, D, C, B, A设森林F对应的二叉树为B,它有m个结点,B的根为p, p的右子树结点个数为n,森林 F中第一棵子树的结点个数是( )o (A)、m-n (B)、m-n-1(C)、n+1(D)、条件缺乏,无法确定在长度为n的线性表中删除一个指针p所指结点的时间复杂度是()(A)、O(n)(B)?0(1)(C). O(log2n) (D). 0(n2)二叉树中第5层上的结点个数最多为()(A)、8(B)、15(C)、16(D)、32在图采用邻接表存储时,求最小生成树的Prim算法的时间复杂度为()o (A)、0(n) (B)、O(n+e) (C)、0(n2)(D)、0(n3)哈夫曼树中度为1的结点个数为()。(A)、0(B)、1(C)、2(D)、不确定树中所有结点的度之和等于所有结点数加()。(A)、0(B)、1(C)、-1(D)、2元素大小为1个单元,容量为n个单元的非空顺序栈中,以地址高端为栈底,以top作 为栈顶指针,那么出栈处理后,top的值应修改为()(A)、top=top (B)s top=n-l(C)、top=top-l (D)、top=top+l有个顶点e条边的无向图G,它的邻接表中的表结点总数是()o(A).2n(BM(C)?2e (D)、e除根结点外,树上每个结点()(A)、可有任意多个孩子、一个双亲(B)、可有任意多个孩子、任意多个双亲(C)、可有一个孩子、任意多个双亲(D)、只有一个孩子、 一个双亲一个单链表中,指针q指向指针p的前趋结点,假设在指针q所指结点和指针p所指 结点之间插入指针s所指结点,那么需执行()(A)、qnext=s ; pnext=s ;(B)、qnext=s ;snext=p ; (C)、qnext=s ; qnext=p ; (D)、q>next=s ;s>next=q ; 执行一趟快速排序能够得到的序列是()。(A)、41, 12, 34, 45, 27 55 72, 63(B)? 45, 34, 12, 41 55 72, 63, 27(C)、63, 12, 34, 45, 27 55 41, 72(D)、12,27, 45, 41 55 34, 63, 72设某数据结构的二元组形式表示为A=(D, R), D=01, 02, 03, 04, 05, 06, 07, 08, 09, R=r, r=<01, 02>, <01, 03>, <01, 04>, <02, 05>, <02, 06>, <03, 07>, <03, 08>, <03, 09>,那么数据结构A是()。(A)、线性结构(B)、树型结构(C)、物理结构(D)、图型结构假设采用邻接矩阵存储一个n个顶点的无向图,那么该邻接矩阵是一个()。(A)、上三角 矩阵 (B)、稀疏矩阵 (C)、对角矩阵 (D)、对称矩阵在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指 针,那么判断队满的条件为()0 (A)s rear%n= = front (B)、(front+l) %n= = rear (C)、 rear%n -1= front (D)、(rear+l)%n= front以下排序算法中,第一趟排序结束后其最大或最小元素一定在其最终位置上的算法是 ()。(A)、归并排序(B)、直接插入排序(C)、快速排序(D)、冒泡排序含有n个结点的二叉树采用二叉链表存储时,空指针域的个数为()(A)、n-l(B)?n (C)、n + 1(D)、n+2设一棵完全二叉树中有65个结点,那么该完全二叉树的深度为()。(A)、8(B)77(Cj?6(D)、5设数据结构 A=(D, R),其中 D=1, 2, 3, 4, R=r, r=<1, 2>, <2, 3>, <3, 4>, <4, 1>,那么数据结构A是()o (A)、线性结构(B)、树型结构(C)、图型结构(D)、 集合数据结构的定义为(D, S),其中口是()的集合。(A)、算法(B)、数据元素(C)、数 据操作 (D)、逻辑结构以下数据结构中哪一个是非线性结构? ()(A)、队列(B)、栈(C)、线性表(D)T 二叉树循环队列存放其元素值,分别用front和rear表示队头和队尾,那么当前队列的 元素个数是( )o (A)s (rear-front+m)%m (B)、rear-front+1 (C)、rear-front-1 (D)、 rear-front设顺序循环队列Q0 : M-1的头指针和尾指针分别为F和R,头指针F总是指向队头元素 的前一位置,尾指针R总是指向队尾元素的当前位置,那么该循环队列中的元素个数为() (A)、R-F (B)、F-R (C)、(R-F+M)%M(D)、(F-R+M)%M在排序方法中,从未排序序列中依次取出兀素与已排序序列(初始时为空)中的兀素进行 比拟,将其放入已排序序列的正确位置上的方法,称为()(A)、希尔排序(B)、插入排序(C)、冒泡排序(D)、快速排序在一棵二叉树上第4层的结点数最多为()。(A)、2(B)、4(C)、6(D)、8判定一个队列QU (最多兀素为mO)为满队列的条件是()(A). QU->rear - QU->front =mO 、QU->rear - QU->front -1= = mO (C)、QU->front = = QU->rear QU->front = = (QU->rear+l)% mO (D)、QU->front = = QU->rear+l关于无向图的邻接矩阵的说法中正确的选项是()(A)、矩阵中非全零元素的行数等于图中的顶点数 (B)、第i行上与第i列上非零元素总和等于顶点Vi的度数 (C)、矩阵中 的非零元素个数等于图的边数 (D)、第i行上非零元素个数和第i列上非零元素个数一 定相等卜面程序的时间复杂为 t=t*j ; s=s+t ; (A)、O(n)()for (i=l, s=0 ; i<=n ; i+ + ) t=l ; for(j=l ; j<=i ; j+) (B)、O(n2)(C)、O(n3)(D)、O(n4)栈和队列()(A)、共同之处在于者者B是先进先出的特殊的线性表 (B)、共同之处在于二者都是先进后出的特殊的线性表(C)、共同之处在于二者者R只允许在顶端执行删除 操作 (D)、没有共同之处数组的逻辑结构不同于下歹J ( 树)的逻辑结构。(A)、线性表(B)、栈 (C)、队列 (D)、设一棵二叉树的深度为k,那么该二叉树中最多有()个结点。(A)、2k-l (B)、2k (C)、2k-l (D)、2k-l在对n个兀素进行冒泡排序的过程中,第一趟排序至多需要进行()对相邻兀素之间 的交换。(A)、n (B)、n-1(C)、n+1(D)、n/2队和栈的主要区别是()(A)、逻辑结构不同 (B)、存储结构不同(C)、所包含的运算个数不同(D)、限定插入和删除的位置不同含有10个结点的二叉树中,度为。的结点数为4,那么度为2的结点数为()(A)、3(B)、4(C)、5(D)、6一个栈的入栈序列是a,b,c,d,e,贝U栈的不口能的输出序列是()o(A).edcba (B).decba (C)、dceab (D)、abcde一棵含50个结点的二叉树中只有一个叶子结点,那么该树中度为1的结点个数为 ()(A)、0(B)、1(C)、48(D)、49设循环队列的兀素存放在一维数组Q 0.30中,队列非空时,front才旨正队头兀素的刖 一个位置,reaT旨示队尾元素。如果队列中元素的个数为11, front的值为25,那么rear应 指向的元素是()(A)、Q 4(B)、Q 5(C)、Q 14(D)、Q 15由一个具有n个顶点的连通图生成的最小生成树中,具有()条边。(A)、n (B)、n-1(C)、n+1(D)、2'n假设某线性表中最常用的操作是在最后一个兀素之后插入一个兀素和删除第一个兀素,那么 最节省运算时间的存储方式是()o (A)、单链表(B)、仅有头指针的单循环链表(C)、双链表 (D)、仅有尾指针的单循环链表在运算中,使用顺序表比链表好。(A)、插入 (B)、删除(C)、根据序号查找 (D)、根据元素值查找某二叉树的后序遍历序列是DABEC,中序遍历序列是DEBAC,那么其先序遍历的结点 访问序列是() (A)、ACBED (B)、DECAB (C)、DEABC (D)、CEDBA可以唯一地转化成一棵一般树的二叉树的特点是()(A)、根结点无左孩子(B)?根结点无右孩子(C)、根结点有两个孩子 (D)、根结点没有孩子数据结构中所定义的数据元素,是用于表示数据的()(A)、最小单位(B)、最大单位 (C)、基本单位(D)、不可分割的单位采用顺序存储结构存储的线性表,其首地址为100,每个元素的长度为2,那么第5个元素 的地址为( )。(A)、110(B)、108(C)、100(D)、120由m棵结点数为n的树组成的森林,将其转化为一棵二叉树,那么该二叉树中根结点的右 子树上具有的结点个数是()(A)、mn (B)、mn-l (C)、n(m-l) (D)、m(n-l)如果在数据结构中每个数据元素只可能有一个直接前驱,但可以有多个直接后继,那么该结 构是()(A)、栈 (B)、队列 (C)、树 (D)、图具有35个结点的完全二叉树的深度为()(A)、5(B)、6(C)、7(D)、8假设要在。(1)的时间复杂度上实现两个循环链表头尾相接,那么应对两个循环链表各设置 一个指针,分别指向( )(A)、各自的头结点(B)、各自的尾结点(C)、各自的第 一个元素结点 (D)、一个表的头结点,另一个表的尾结点在一个链队列中,假定front和rear分别为队首和队尾指针,那么删除一个结点的操作为 ( )o (A)、front=front->next (B)、rear=rear->next (C)、rear=front->next (D)、 front=rear->next二叉树中第i(i,l)层上的结点数最多有()个。(A)、2i(B)、2i(C)、2i-l(D)? 2i-l如下陈述中正确的选项是()(A)、串是一种特殊的线性表(B)、串的长度必须大于(Cj?串中元素只能是字母(D)、空串就是空白串对于一个有向图,假设一个顶点的度为kl,出度为k2,那么对应邻接表中该顶点单链表中的 边结点数为()0 (A)、kl (B)、k2 (C)、kl-k2 (D)、kl+k2在按层次遍历二叉树的算法中,需要借助的辅助数据结构是()(A)、队列(B);栈 (C)、线性表 (D)、有序表设有序表中有1000个元素,那么用二分查找查找元素X最多需要比拟()次。(A)、25 (B)、10(C)、7(D)、1以下查找算法中,平均查找长度与元素个数n不直接相关的查找方法是()(A)、分块查找(B)、顺序查找(C)、二分查找(D)、散列查找含10个结点的二叉排序树是一棵完全二叉树,那么该二叉排序树在等概率情况下查找 成功的平均查找长度等于()(A)、1(B)、2.9(C)、3.4(D)、5.5在一个具有n个顶点的有向图中,假设所有顶点的出度数之和为s,那么所有顶点的入度数之 和为()。(A)、s (B)、s-l (C)、s+1(D)、n衡量查找算法效率的主要标准是()。(A)、元素的个数(B)、所需的存储量(C)T 平均查找长度(D)、算法难易程度在索引顺序表中查找一个元素,可用的且最快的方法是()。(内、用顺序查找方法确 定元素所在块,再用顺序查找在相应块中查找(B)、用顺序查找方法确定元素所在块, 再用二分查找在相应块中查找(C)、用二分查找方法确定元素所在块,再用二分查找在相应块中查找 (D)、用二分查找方法确定元素所在块,再用顺序查找在相应块中查找 假设一棵完全二叉树按层次遍历的顺序依次存放在数组BTm中,其中根结点存放在 BT0,假设BT1中的结点有左孩子,那么左孩子存放在()(A)、BTi/2(B)、BT2*i-l(C)、BT2*i(D)、BT2*i + l设指针变量p指向单链表中结点A,假设删除单链表中结点A,那么需要修改指针的操作序列 为()o (A)、q=p->next ; p->data=q->data ; p->next=q->next ; free(q) ;(B)、q=p->next ; q->data=p->data ; p->next=q->next ; free(q) ;(C)、q = p->next ;p->next=q->next ; free(q) ;(D)、q=p->next ; p->data=q->data ; free(q);设p为指向双向循环链表中某个结点的指针,p所指向的结点的两个链域分别用p-llink 和prlink表示,那么同样表示p指针所指向结点的表达式是()(A)、pflink (B)、prlink(C)、pllinkllink(D)、pllinkrlink假设一个图的边集为<1,2>,<1,4>,<2,5>,<3,1>,<3,5>,<4,3>,那么从顶点1开始对该图进行 广度优先搜索,得到的顶点序列可能为( )o (A)、1,234,5(B)、1,243,5(C)、124,5,3(D)、1,4,253对关键码序列28, 16, 32, 12, 60, 2, 5, 72快速排序,从小到大一次划分结果为( T (A)、(2,5,12,16)28(60,32,72)(B)、(5,16,2,12)28(60,32,72)(C)、(2,16,12,5)28(60,32,72)(D)、(5,16,2,12)28(32,60,72)假设在构建散列表时,采用线性探测解决冲突。假设连续插入的n个关键字都是同义词,那么 查找其中最后插入的关键字时,所需进行的比拟次数为( )(A)、n-1(B)、n (C)、n+l (D)、n+2在一个具有n个顶点的有向完全图中,所含的边数为()o(A). n(B).n(n-l)(0)7n(n-l)/2(D)、n(n+l)/2设有序顺序表中有n个数据元素,那么利用二分查找法查找数据元素X的最多比拟次数不 超过()o (A)、Iog2n+1 (B). Iog2n-1 (C)、log2n(D)、Iog2(n+1)在对n个元素进行冒泡排序的过程中,至少需要()趟完成° (A)、1 (B)?(C)?n-1(D)、n/2以下排序算法中,不稳定的是()(A)、直接插入排序(B)、冒泡排序(C)、归并排 序(D)、简单项选择择排序导致栈上溢的操作是()(A)、栈满时执行的出栈(B)、栈满时执行的入栈(C)、栈空 时执行的出栈)、栈空时执行的入栈树形结构是数据元素之间存在一种()。(A)、一对一关系(B)、多对多关系(C)、多 对一关系(D)、一对多关系将两个各有n个元素的有序表合并成一个有序表,其最少的比拟次数为()(A)、n(B)、2n-l (C)、2n (D)、n2在一个单链表中,假设q所指结点是p所指结点的前驱结点,假设在q与p之间插入一个s所指 的结点,那么执行() (A)、sfink二pTink; plink=s; (B)、plink=s; s-link=q; (C)、pTink = sfink; sTink = p; (D)、q Tink = s; sf ink 二 p;在一个具有n个顶点和e条边的有向图的邻接矩阵中,表示边存在的元素个数为()7(A)、n (B)、ne (C)、e (D)、2e设单链表中结点结构为(datajink).指针q所指结点是指针p所指结点的直接前驱,假设 在*q与*p之间插入结点*s,那么应执行以下哪一个操作()(A)、s->link=p->link;p->link=s; (B)、q->link=s; s->link=p (C)、p->link=s->link; s->link=p; (D)、 p->link=s; s->link=q;设n,m为一棵二叉树上的两个结点,在中序遍历序列中n在m前的条件是()。(A)、 n在m右方 (B)、n在m左方 (C)、n是m的祖先 (D)、n是m的子孙连通图G中有n个顶点,G的生成树是()的连通子图。(A)、包含G的所有顶点(B)、不必包含G的所有顶点(C)、包含G的所有边 (D)、包含G的所有顶点和所有边排序算法中,不稳定的排序是()。(A)、直接插入排序(B)、冒泡排序(C)、堆排序 (D)、选择排序队列操作的原那么是()。(A)、先进先出(B)、后进先出(C)、只能进行插入(D)?只能进行删除设一个顺序有序表中有14个元素,那么采用二分法查找元素A4的过程中比拟元素 的顺序为()o (A)、Al, A2, A3, A4(B)、Al. A14, A7, A4(C)、A7,A3, A5, A4(D). A7, A5 , A3, A4一棵完全二叉树上有1001个结点,其中叶子结点的个数是( )o (A). 501 (B)、500 (C)、254(D)、505具有4个顶点的无向完全图有()条边。(A)、6(B)、12(C)、16(D)、203个结点可构成()棵不同形态的二叉树。(A)、2(B)、3(C)、4(D)飞一用邻接表表示图进行深度优先遍历时,通常是采用()来实现算法的。(A)、栈(B