A.a-b-c*d B.-(a+b)*c-d C.-a+b*c-d D.(a+b)*(-c-d)
A.链表 B.静态数组 C.动态数组 D.散列表
A.n B.(n+1)/2 C.log2n D.n2
A.完全二叉树 B.最小生成树 C.二叉排序树 D.最优二叉树
设循环队列Q的定义中有rear和len两个域变量,其中rear表示队尾元素的指针,len表示队列的长度,如图1-9所示(队列长度为3,队头元素为e)。设队列的存储空间容量为M,则队头元素的指针为()。
A.(Q.rear+Q.len-1) B.(Q.rear+Q.1en-1+M)%M C.(Q.rear-Q.1en+1) D.(Q.rear-Q.1en+1+M)%M
A.O(n) B.O(n2) C.O(log2n) D.O(nlog2n)
若将某有序树丁转换为二叉树T1,则T中结点的后(根)序序列就是T1中结点的()遍历序列。例如,如图1-8a所示的有序树转化为二叉树后如图1-8b所示。
A.先序 B.中序 C.后序 D.层序
A.2 B.3 C.4 D.5
A.插入和删除操作的时间复杂度都为O(1) B.插入和删除操作的时间复杂度都为O(n) C.插入操作的时间复杂度为O(1),删除操作的时间复杂度为O(n) D.插入操作的时间复杂度为O(n),删除操作的时间复杂度为O(1)
A.分治 B.贪心 C.动态规划 D.回溯
A.希尔排序 B.快速排序 C.堆排序 D.选择排序
A.n+1 B.n C.n/2 D.n-1
A.XAB+CDE/-x= B.XAB-C-DE/x= C.XAB+CDE-/x= D.NAB-CD-E/x=
A.分支限界法 B.贪心算法 C.回溯法 D.动态规划策略
A.23 B.37 C.44 D.46
A.abcd*+- B.abc+*d- C.abc*+d- D.-+*abcd
A.实现函数或过程的递归调用及返回处理时 B.将一个元素序列进行逆置时 C.链表结点的申请和释放 D.可执行程序的装入和卸载
A.6 B.7 C.8 D.9
A.N B.E C.2E D.N+E
某双向链表中的结点如图1-4所示,删除t所指结点的操作为()。
A.t->prior->next=t->next;t->next->prior=t->prior; B.t->prior->prior=t->prior;t->next->next=t->next; C.t->prior->next=t->prior;t->next->prior=t->next; D.t->prior->prior=t->next;t->next->prior=t->prior;
A.迭代 B.递归 C.先递归后迭代 D.先迭代后递归
A.通过该顶点的简单路径数 B.通过该顶点的回路数 C.与该顶点相邻的顶点数 D.与该顶点连通的顶点数
A.若入栈和入队的序列相同,则出栈序列和出队序列可能相同 B.若入栈和入队的序列相同,则出栈序列和出队序列可以互为逆序 C.入队序列与出队序列关系为1:1,而入栈序列与出栈序列关系是1:n(n≥1) D.入栈序列与出栈序列关系为1:1,而入队序列与出队序列关系是1:n(n≥1)
A.O(n2) B.O(n) C.O(nlgn) D.O(1)
A.O(lgn) B.O(nlgn) C.O(n) D.O(n2)
A.Dk(i,j)=Dk-1(i,j)+C(i,j) B.Dk(i,j)=minDk-1(i,j),Dk-1(i,j)+C(i,j) C.Dk(i,j)=Dk-1(i,k)+Dk-1(k,j) D.Dk(i,j)=minDk-1(i,j),Dk-1(i,k)+Dk-1(k,j)
A.(n+1)/2 B.n/2 C.(n-1)/2 D.1
为了便于存储和处理一般树结构形式的信息,常采用孩子一兄弟表示法将其转换成二又树(左子关系表示父子,右子关系表示兄弟),与图1-3所示的树对应的二叉树是()。
A.A B.B C.C D.D
A.15 B.16 C.31 D.32
A.任意结点的左、右子树结点数目相同 B.任意结点的左、右子树高度相同 C.任意结点的左、右子树高度之差的绝对值不大于1 D.不存在度为1的结点
A.5 B.7 C.10 D.15
A.进行深度优先遍历运算所消耗的时间与采用哪一种存储结构无关 B.进行广度优先遍历运算所消耗的时间与采用哪一种存储结构无关 C.采用邻接表表示图时,查找所有顶点的邻接顶点的时间复杂度为O(n*e) D.采用邻接矩阵表示图时,查找所有顶点的邻接顶点的时间复杂度为O(n2)
A.需要频繁修改L中元素的值 B.需要频繁地对L进行随机查找 C.需要频繁地对L进行删除和插入操作 D.要求L存储密度高
A.分治法 B.动态规划法 C.贪心法 D.回溯法
A.顺序(Sequence) B.链表(Link) C.索引(Index) D.散列(Hash)
A.动态规划 B.贪心 C.回溯 D.分治
A.1.5 B.1.7 C.2.0 D.2.3
A.O(n2) B.O(e2) C.O(n*e) D.O(n+e)
A.4 B.5 C.6 D.7
A.一般由三个步骤组成:问题划分、递归求解、合并解 B.一定是用递归技术来实现 C.将问题划分为k个规模相等的子问题 D.划分代价很小而合并代价很大
A.装填因子的值随冲突次数的增加而递减 B.装填因子越大发生冲突的可能性就越大 C.装填因子等于1时不会再发生冲突 D.装填因子低于0.5时不会发生冲突
A.ab+cd-* B.abcd+-* C.ab+*cd- D.abcd*+-
A.head(tail(tail(L))) B.tail(head(head(L))) C.head(tail(head(L)) D.tail(tail(head(L)))
A.回溯法 B.分治法 C.动态规划 D.递推
A.27 B.38 C.51 D.75
A.O(n) B.O(n2) C.O(logn) D.O(nlogn)
在如图1-7所示的平衡二叉树(树中任一结点的左右子树高度之差不超过1)中,结点A的右子树AR高度为h,结点B的左子树BL高度为h,结点C的左子树CL、右子树CR高度都为h-1。若在CR中插入一个结点并使得CR的高度增加l,则该二叉树()。
A. 以B为根的子二叉树变为不平衡 B. 以C为根的子二叉树变为不平衡 C. 以A为根的子二叉树变为不平衡 D. 仍然是平衡二叉树
A.连通无向网的最小生成树中,顶点数恰好比边数多1 B.若有向图是强连通的,则其边数至少是顸点数的2倍 C.可以采用AOV网估算工程的工期 D.关键路径是AOE网中源点至汇点的最短路径
A.n B.[log2n]-1 C.n/2 D.[log2n]+1
A.O(log2n) B.O(n) C.O(nlog2n) D.O(n2)
A.归并 B.快速 C.希尔 D.堆
A.路径长度递减 B.路径长度递增 C.顶点编号递减 D.顶点编号递增
A.XAB+CDE/-x= B.XA+BC-dE/x= C.XABCd-xE/+= D.XABCDE+x-/=
A.62,88,95 B.62,95 C.55,88,95 D.55,95
A.基数排序 B.快速排序 C.堆排序 D.归并排序
在11个元素的有序表A[1..11]中进行折半查找(),查找元素A[11]时,被比较的元素的下标依次是()。
A.5,7,9,8 B.5,9,7,8 C.6,9,7,8 D.6,9,10,8
A.2n B.2n-1 C.2n+1 D.2n+2
A.进行串的比较运算最不方便 B.进行求子串运算最不方便 C.进行串连接最不方便 D.进行串替换最不方便
A.贪心 B.分而治之 C.动态规划 D.试探+回溯
在二叉树的顺序存储中,每个结点的存储位置与其父结点、左右子树结点的位置都存在一个简单的映射关系,因此可与三叉链表对应。若某二叉树共有n个结点,采用三叉链表存储时,每个结点的数据域需要d个字节,每个指针域占用4个字节,若采用顺序存储,则最后一个结点下标为k(起始下标为1),那么()时采用顺序存储更节省空间。
A.8 B.12 C.33 D.48
A.41,52,54 B.41,76,54 C.41,76,52,54 D.41,30,76,54
A.插入排序 B.归并排序 C.快速排序 D.堆排序
A.12,14 B.10,14 C.12,16 D.10,16
A.DEBAFC B.DEFBCA C.DEBCFA D.DEBFCA
A.无向图 B.AOV网 C.AOE网 D.有向图
A.a b c 5+*- B.a b-c+5* C.a b c-*5+ D.a b-c 5+*
A.对二叉排序树进行中序遍历,必定得到结点关键字的有序序列 B.依据关键字无序的序列建立二叉排序树,也可能构造出单支树 C.若构造二叉排序树时进行平衡化处理,则根结点的左子树结点数与右子树结点数的差值一定不超过1 D.若构造二叉排序树时进行平衡化处理,则根结点的左子树高度与右子树高度的值一定不超过1
A.左指针一定为空 B.右指针一定为空 C.左、右指针均为空 D.左、右指针均不为空
A.哈夫曼树一定是完全二叉树 B.哈夫曼树一定是平衡二叉树 C.哈夫曼树中权值最小的两个结点互为兄弟结点 D.哈夫曼树中左孩子结点小于父结点,右孩子结点大于父结点
输入受限的双端队列是指元素只能从队列的一端输入,但可以从队列的两端输出,如图1-5所示。若有8,1,4,2依次进入输入受限的双端队列,则得不到输出序列()。
A.2、8、 1、4 B.1、4、8、2 C.4、2、 1、8 D.2、1、4、8
A.栈和队列都是操作受限的线性表 B.队列采用单循环链表存储时,只需设置队尾指针就可使入队和出队操作的时间复杂度都为O(1) C.若队列的数据规模n可以确定,则采用顺序存储结构比链式存储结构效率更高 D.利用两个栈可以模拟一个队列的操作,反之亦可
A.包含回路 B.是强连通图 C.是完全图 D.是有向树
A.若在头结点中存入链表长度值,则求链表长度运算的时间复杂度为O(1) B.在链表的任何一个元素前后进行插入和删除操作可用一致的方式进行处理 C.加入头结点后,代表链表的头指针不因为链表为空而改变 D.加入头结点后,在链表中进行查找运算的时间复杂度为O(1)
A.10 B.9 C.8 D.7
用关键字序列10,20,30,40,50构造的二叉排序树(二叉查找树)为()。
A.有穷性 B.可行性 C.确定性 D.健壮性
A.完全二叉树 B.二叉排序树 C.线索二叉树 D.最优二叉树
A.不再需要头指针了 B.已知某个结点的位置后,能很容易找到它的直接前驱结点 C.在进行删除操作后,能保证链表不断开 D.从表中任一结点出发都能遍历整个链表
A.完全二叉树的高度h与其结点数n之间存在确定的关系 B.在二叉树的顺序存储和链式存储结构中,完全二叉树更适合采用链式存储结构 C.完全二叉树中一定不存在度为1的结点 D.完全二叉树中必定有偶数个叶子结点
A.BCDEAF B.ABDCEF C.DBACEF D.DABECF
A.哈希表可以动态创建 B.二叉排序树属于动态查找表 C.二分查找要求查找表采用顺序存储结构或循环链表结构 D.顺序查找方法既适用于顺序存储结构,也适用于链表结构
拓扑序列是无环有向图中所有顶点的一个线性序列,图中任意路径中的各个顶点在该图的拓扑序列中保持先后关系,()为图1-2所示有向图的一个拓扑序列。
A.1526374 B.1526734 C.5123764 D.5126374
A.89,27,35,78,41,15 B.27,35,41,16,89,70 C.15,27,46,40,64,85 D.90,80,45,38,30,25
由权值为29,12,15,6,23的5个叶子结点构造的哈夫曼树为 (57) ,其带权路径长度为 (58) 。
(57)处填()。
以下关于快速排序算法的描述中,错误的是 (104) 。在快速排序过程中,需要设立基准元素并划分序列来进行排序。若序列由元素(12,25,30,45,52,67,85)构成,则初始排列为 (105) 时,排序效率最高(令序列的第一个元素为基准元素)。
A.快速排序算法是不稳定的排序算法 B.快速排序算法在最坏情况下的时间复杂度为O(nlgn) C.快速排序算法是一种分治算法 D.当输入数据基本有序时,快速排序算法具有最坏情况下的时间复杂度
已知一个线性表(16,25,35,43,51,62,87,93),采用散列函数H(Key)=Key mod 7将元素散列到表长为9的散列表中。若采用线性探测的开放定址法解决冲突(顺序地探查可用存储单元),则构造的哈希表为 (70) ,在该散列表上进行等概率成功查找的平均查找长度为 (71) (为确定记录在查找表中的位置,需和给定关键字值进行比较的次数期望值称为查找算法在查找成功时的平均查找长度)。
A.(1) B.(2) C.(3) D.(4)
利用贪心法求解0-1背包问题时, (27) 能够确保获得最优解。用动态规划方法求解0-1背包问题时,将“用前i个物品来装容量是X的背包”的0-1背包问题记为KNAP(1,i,X),设fi(X)是KNAP(1,i,X)最优解的效益值,第j个物品的重量和放入背包后取得效益值分别为Wj和pj(j=1~n)。则依次求解f0(X)4,f1(X),…,fn(X)的过程中使用的递推关系式为 (28) 。
A.优先选取重量最小的物品 B.优先选取效益最大的物品 C.优先选取单位重量效益最大的物品 D.没有任何准则
简单无向图的邻接矩阵是对称的,可以对其进行压缩存储。若无向图G有n个结点,其邻接矩阵为A[1..n,1..n],且压缩存储在B[1..k]中,则k的值至少为 (20) 。若按行压缩存储对称矩阵的上三角元素,则当n等于10时,边(V6,V3)的信息存储在B[ (21) ]中。
(20)处填()。 A.
求解该算法的计算时间时,仅考虑算法Move所做的计算为主要计算,且Move为常数级算法。则算法F的计算时间T(n)的递推关系式为 (25) ;设算法Move的计算时间为k,当n=4时,算法F的计算时间为 (26) 。
A.T(n)=T(n-1)+1 B.T(n)=2T(n-1) C.T(n)=2T(n-1)+1 D.T(n)=2T(n+1)+1
对于具有n个元素的一个数据序列,若只需得到其中第k个元素之前的部分排序,最好采用 (47) ,使用分治(Divide and Conquer)策略的是 (48) 算法。
A.希尔排序 B.直接插入排序 C.快速排序 D.堆排序
对于二叉查找树(Binary Search Tree),若其左子树非空,则左子树上所有结点的值均小于根结点的值;若其右子树非空,则右子树上所有结点的值均大于根结点的值;左、右子树本身就是两棵二叉查找树。因此,对任意一棵二叉查找树进行 (64) 遍历可以得到一个结点元素的递增序列。在具有n个结点的二叉查找树上进行查找运算,在最坏情况下的算法复杂度为 (65) 。
A.先序 B.中序 C.后序 D.层序
A.85 B.188 C.192 D.222
A.动态规划法 B.贪心法 C.分治法 D.回溯法
A.(5*1+2+3+6)/8 B.(5*1+2+3+6)/9 C.(8*1)/8 D.(8*1)/9
A.fi(X)=min{fi-1(X),fi-1(X)+pi} B.fi(X)=max{fi-1(X),fi-1(X-Wi)+pi} C.fi(X)=min{fi-1(X-Wi),fi-1(X-Wi)+pi} D.fi(X)=max{fi-1(X-Wi),fi-1(X)+pi
A.45,12,30,25,67,52,85 B.85,67,52,45,30,25,12 C.12,25,30,45,52,67,85 D.45,12,25,30,85,67,52
A.14k B.15k C.16k D.17k
A.18 B.19 C.20 D.21
A.O(n2) B.O(nlog2n) C.O(log2n) D.O(n)
为了在状态空间树中 (11) ,可以利用LC-检索(Least Cost Search)快速找到一个答案结点。在进行LC-检索时,为避免算法过分偏向于纵深检查,应该 (12) 。
A.找出任一个答案结点 B.找出所有的答案结点 C.找出最优的答案结点 D.进行遍历
A.冒泡排序 B.插入排序 C.快速排序 D.堆排序
某算法的时间复杂度可用递归式表示,若用表示,则正确的是()。
某工程计划如图1-6所示,各个作业所需的天数如下表所示,设该工程从第0天开工,则该工程的最短工期是 (52) 天,作业J最迟应在第 (53) 天开工。
A.11 B.13 C.14 D.16
设栈S和队列Q的初始状态为空,元素按照a,b,c,d,e的次序进入栈S,当一个元素从栈中出来后立即进入队列Q。若队列的输出元素序列是c,d,b,a,e,则元素的出栈顺序是 (61) ,栈S的容量至少为 (62) 。
A.a,b,c,d,e B.e,d,c,b,a C.c,d,b,a,e D.e,a,b,d,c
一个具有m个结点的二叉树,其二叉链表结点(左、右孩子指针分别用left和right表示)中的空指针总数必定为 (80) 个。为形成中序(先序、后序)线索二叉树,现对该二叉链表所有结点进行如下操作:若结点p的左孩子指针为空,则将该左指针改为指向p在中序(先序、后序)遍历序列的前驱结点;若p的右孩子指针为空,则将该右指针改为指向p在中序(先序、后序)遍历序列的后继结点。假设指针s指向中序(先序、后序)线索二叉树中的某结点,则 (81) 。
A.m+2 B.m+1 C.m D.m-1
A.使用精确的成本函数c(.)来做LC-检索 B.使用广度优先检索 C.使用深度优先检索 D.在成本估计函数中考虑根结点到当前结点的成本(距离)
斐波那契(Fibonacci)数列可以递归地定义为: 用递归算法求解F(6)时需要执行 (61) 次“+”运算,该方法采用的算法策略是 (62) 。
A.6 B.7 C.12 D.13
已知一个二又树的先序遍历序列为①、②、③、④、⑤,中序遍历序列为②、①、④、③、⑤,则该二叉树的后序遍历序列为 (97) 。对于任意一棵二叉树,叙述错误的是 (98) 。
A.②、③、①、⑤、④ B.①、②、③、④、⑤ C.②、④、⑤、③、① D.④、⑤、③、②、①
对于求取两个长度为n的字符串的最长公共子序列(LCS)问题,利用 (35) 策略可以有效地避免子串最长公共子序列的重复计算,得到时间复杂度为O(n2)的正确算法。串<1,0,0,1,0,1,0,1>和<0,1,0,1,1,0,1,1>的最长公共子序列的长度为 (36) 。
A.分治 B.贪心 C.动态规划 D.分支限界
A.s->right指向的结点一定是s所指结点的直接后继结点 B.s->left指向的结点一定是s所指结点的直接前驱结点 C.从s所指结点出发的right链可能构成环 D.s所指结点的left和right指针一定指向不同的结点
结点数目为n的二叉查找树(二叉排序树)的最小高度为 (40) ,最大高度为 (41) 。
A.n B.n/2 C.[log2n] D.
MPEG-4是 (53) ,MPEG-4主要由音频编码、视频编码、数据平面、 (54) 、缓冲区管理和实时识别等部分构成,其中数据平面包括 (55) 两部分。
A.电视图像和伴音信息的通用编码 B.高数据速率数字存储媒体的电视图像和伴音编码 C.一套多媒体内容描述符接口标准 D.一套多媒体通信标准
设下三角矩阵(上三角部分的元素值都为0)A[0..n,0..n]如图1-10所示,将该三角矩阵的所有非零元素(即行下标不小于列下标的元素)按行优先压缩存储在容量足够大的数组M[]中(下标从1开始),则元素A[i,j](0≤i≤n,j≤i)存储在数组M的()中。
A.动态规划 B.分治 C.回溯 D.分支限界
设一个包含Ⅳ个顶点、E条边的简单有向图采用邻接矩阵存储结构(矩阵元素A[i][j]等于1/0分别表示顶点i与顶点j之间有/无弧),则该矩阵的元素数目为 (73) ,其中非零元素数目为 (74) 。
A.E2 B.N2 C.N2-E2 D.N2+E2
A.①③④⑥ B.②④⑥ C.②③④⑥ D.①④⑥
A.3 B.4 C.5 D.6
A.由其后序遍历序列和中序遍历序列可以构造该二叉树的先序遍历序列 B.由其先序遍历序列和后序遍历序列可以构造该二叉树的中序遍历序列 C.由其层序遍历序列和中序遍历序列可以构造该二叉树的先序遍历序列 D.由其层序遍历序列和中序遍历序列不能构造该二叉树的后序遍历序列
A.对象基表达 B.场景描述 C.合成编码 D.描述符接口
A.N B.N+E C.E D.N-E
A.非可分等级编码模式和可分等级编码模式 B.合成数据对象和自然数据对象 C.传输关系和媒体关系 D.具有特殊品质服务(QoS)的信道和面向每个基本流的带宽