【计算机类职业资格】软件设计师-数据结构与算法(三)及答案解析.doc
《【计算机类职业资格】软件设计师-数据结构与算法(三)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】软件设计师-数据结构与算法(三)及答案解析.doc(69页珍藏版)》请在麦多课文档分享上搜索。
1、软件设计师-数据结构与算法(三)及答案解析(总分:128.00,做题时间:90 分钟)一、单项选择题(总题数:109,分数:128.00)由权值为 29,12,15,6,23 的 5 个叶子结点构造的哈夫曼树为 (57) ,其带权路径长度为 (58) 。(分数:2.00)A.B.C.D.A.85B.188C.192D.222简单无向图的邻接矩阵是对称的,可以对其进行压缩存储。若无向图 G 有 n 个结点,其邻接矩阵为A1n,1n,且压缩存储在 B1k中,则 k 的值至少为 (20) 。若按行压缩存储对称矩阵的上三角元素,则当 n 等于 10 时,边(V6,V3)的信息存储在 B (21) 中。
2、(分数:2.00)(1). (分数:1.00)A.B.C.D.A.18B.19C.20D.211.对 n 个元素的有序表 A1n进行顺序查找,其成功查找的平均查找长度(即在查找表中找到指定关键码的元素时,所进行比较的表中元素个数的期望值)为_。(分数:1.00)A.nB.(n+1)/2C.log2nD.n22.广义表中的元素可以是原子,也可以是表,因此广义表的适用存储结构是_。(分数:1.00)A.链表B.静态数组C.动态数组D.散列表3.将一个无序序列中的元素依次插入到一棵_,并进行中序遍历,可得到一个有序序列。(分数:1.00)A.完全二叉树B.最小生成树C.二叉排序树D.最优二叉树4.设
3、循环队列 Q 的定义中有 rear 和 len 两个域变量,其中 rear 表示队尾元素的指针,len 表示队列的长度,如图 1-9 所示(队列长度为 3,队头元素为 e)。设队列的存储空间容量为 M,则队头元素的指针为_。(分数:1.00)A.B.C.D.利用贪心法求解 0-1 背包问题时, (27) 能够确保获得最优解。用动态规划方法求解 0-1 背包问题时,将“用前 i 个物品来装容量是 X 的背包”的 0-1 背包问题记为 KNAP(1,i,X),设 fi(X)是 KNAP(1,i,X)最优解的效益值,第 j 个物品的重量和放入背包后取得效益值分别为 Wj和 pj(j=1n)。则依次求
4、解 f0(X)4,f 1(X),f n(X)的过程中使用的递推关系式为 (28) 。(分数:2.00)A.优先选取重量最小的物品B.优先选取效益最大的物品C.优先选取单位重量效益最大的物品D.没有任何准则A.B.fi(X)=minfi-1(X),f i-1(X)+piC.fi(X)=maxfi-1(X),f i-1(X-Wi)+piD.fi(X)=minfi-1(X-Wi),f i-1(X-Wi)+piE. Df i(X)=maxfi-1(X-Wi),f i-1(X)+pi5.以比较为基础的排序算法在最坏情况下的计算时间下界为_。(分数:1.00)A.O(n)B.O(n2)C.O(log2n)
5、D.O(nlog2n)6.若将某有序树丁转换为二叉树 T1,则 T 中结点的后(根)序序列就是 T1 中结点的_遍历序列。例如,如图 1-8(a)所示的有序树转化为二叉树后如图 1-8(b)所示。(分数:1.00)A.B.C.D.7.已知某二叉树的中序序列为 CBDAEFI,先序序列为 ABCDEFI,则该二叉树的高度为_。(分数:1.00)A.2B.3C.4D.58.若对一个链表最常用的操作是在末尾插入结点和删除尾结点,则采用仅设尾指针的单向循环链表(不含头结点)时,_。(分数:1.00)A.插入和删除操作的时间复杂度都为 O(1)B.插入和删除操作的时间复杂度都为 O(n)C.插入操作的时
6、间复杂度为 O(1),删除操作的时间复杂度为 O(n)D.插入操作的时间复杂度为 O(n),删除操作的时间复杂度为 O(1)9.设商店有 10 元、5 元、2 元和 1 元的零币,每种零币的数量充足。售货员给顾客找零钱时,零币的数量越少越好。例如给顾客找零 29 元:先选 2 张 10 元币,然后选择 1 张 5 元币,再选择两张 2 元币。以上的找零钱方法采用了_策略。(分数:1.00)A.分治B.贪心C.动态规划D.回溯10.对 n 个元素的数组进行_,其平均时间复杂度和最坏情况下的时间复杂度都是 O(nlogn)。(分数:1.00)A.希尔排序B.快速排序C.堆排序D.选择排序对于具有
7、n 个元素的一个数据序列,若只需得到其中第 k 个元素之前的部分排序,最好采用 (47) ,使用分治(Divide and Conquer)策略的是 (48) 算法。(分数:2.00)A.希尔排序B.直接插入排序C.快速排序D.堆排序A.冒泡排序B.插入排序C.快速排序D.堆排序以下关于快速排序算法的描述中,错误的是 (104) 。在快速排序过程中,需要设立基准元素并划分序列来进行排序。若序列由元素(12,25,30,45,52,67,85)构成,则初始排列为 (105) 时,排序效率最高(令序列的第一个元素为基准元素)。(分数:2.00)A.快速排序算法是不稳定的排序算法B.快速排序算法在最
8、坏情况下的时间复杂度为 O(nlgn)C.快速排序算法是一种分治算法D.当输入数据基本有序时,快速排序算法具有最坏情况下的时间复杂度A.45,12,30,25,67,52,85B.85,67,52,45,30,25,12C.12,25,30,45,52,67,85D.45,12,25,30,85,67,5211.一个具有 n(n0)个顶点的连通无向图至少有_条边。(分数:1.00)A.n+1B.nC.n/2D.n-112.表达式“X=(A+B)(C-D/E)”的后缀表示为_。(分数:1.00)A.XAB+CDE/-x=B.XAB-C-DE/x=C.XAB+CDE-/x=D.NAB-CD-E/x
9、=13._不能保证求得 0-1 背包问题的最优解。(分数:1.00)A.分支限界法B.贪心算法C.回溯法D.动态规划策略14.由权值为 9,2,5,7 的 4 个叶子结点构造一棵哈夫曼树,该树的带权路径长度为_。(分数:1.00)A.23B.37C.44D.4615.对于关键字序列(26,25,72,38,8,18,59),采用散列函数 H(Key)=Key mod 13 构造散列表(哈希表)。若采用线性探测的开放定址法解决冲突(顺序地探查可用存储单元),则关键字 59所在散列表中的地址为_。(分数:1.00)A.6B.7C.8D.916.表达式 a*(b+c)-d 的后缀表达式为_。(分数:
10、1.00)A.abcd*+-B.abc+*d-C.abc*+d-D.-+*abcd已知一个线性表(16,25,35,43,51,62,87,93),采用散列函数 H(Key)=Key mod 7 将元素散列到表长为 9 的散列表中。若采用线性探测的开放定址法解决冲突(顺序地探查可用存储单元),则构造的哈希表为 (70) ,在该散列表上进行等概率成功查找的平均查找长度为 (71) (为确定记录在查找表中的位置,需和给定关键字值进行比较的次数期望值称为查找算法在查找成功时的平均查找长度)。(分数:2.00)(1).(1)0 1 2 3 4 56 7 83543165125 628793(2)0 1
11、 2 3 4 5 6 7 83543169325516287(3)0 1 2 3 4 5 6 7 83543165125876293(4)0 1 2 3 4 5 6 7835431651258762 93(分数:1.00)A.(1)B.(2)C.(3)D.(4)A.(5*1+2+3+6)/8B.(5*1+2+3+6)/9C.(8*1)/8D.(8*1)/9对于二叉查找树(Binary Search Tree),若其左子树非空,则左子树上所有结点的值均小于根结点的值;若其右子树非空,则右子树上所有结点的值均大于根结点的值;左、右子树本身就是两棵二叉查找树。因此,对任意一棵二叉查找树进行 (64)
12、 遍历可以得到一个结点元素的递增序列。在具有 n 个结点的二叉查找树上进行查找运算,在最坏情况下的算法复杂度为 (65) 。(分数:2.00)A.先序B.中序C.后序D.层序A.O(n2)B.O(nlog2n)C.O(log2n)D.O(n)17.栈是一种按“后进先出”原则进行插入和删除操作的数据结构,因此,_必须用栈。(分数:1.00)A.实现函数或过程的递归调用及返回处理时B.将一个元素序列进行逆置时C.链表结点的申请和释放D.可执行程序的装入和卸载18.设一个包含 N 个顶点、E 条边的简单无向图采用邻接矩阵存储结构(矩阵元素 Aij等于1/0 分别表示顶点 i 与顶点 j 之间有/无边
13、),则该矩阵中的非零元素数目为_。(分数:1.00)A.NB.EC.2ED.N+E19.若一个问题既可以用迭代方式也可以用递归方式求解,则_方法具有更高的时空效率。(分数:1.00)A.迭代B.递归C.先递归后迭代D.先迭代后递归20.某双向链表中的结点如图 1-4 所示,删除 t 所指结点的操作为_。(分数:1.00)A.B.C.D.21.无向图中一个顶点的度是指图中_。(分数:1.00)A.通过该顶点的简单路径数B.通过该顶点的回路数C.与该顶点相邻的顶点数D.与该顶点连通的顶点数22.对于长度为 m(m1)的指定序列,通过初始为空的一个栈、一个队列后,错误的叙述是_。(分数:1.00)A
14、.若入栈和入队的序列相同,则出栈序列和出队序列可能相同B.若入栈和入队的序列相同,则出栈序列和出队序列可以互为逆序C.入队序列与出队序列关系为 1:1,而入栈序列与出栈序列关系是 1:n(n1)D.入栈序列与出栈序列关系为 1:1,而入队序列与出队序列关系是 1:n(n1)23.设某算法的计算时间可用递推关系式 T(n)=2T(n/2)+n 表示,则该算法的时间复杂度为_。(分数:1.00)A.O(lgn)B.O(nlgn)C.O(n)D.O(n2)24.某算法的时间复杂度表达式为 T(n)=an2+bnlgn+cn+d,其中,n 为问题的规模,a、b、c 和 d为常数,用 O 表示其渐近时间
15、复杂度为_。(分数:1.00)A.O(n2)B.O(n)C.O(nlgn)D.O(1)25.利用动态规划方法求解每对结点之间的最短路径问题(all pairs shortest path problem)时,设有向图 G=V,E共有 n 个结点,结点编号 1n,设 C 是 G 的成本邻接矩阵,D k(i,j)即为图G 中结点 i 到 j 并且不经过编号比 k 还大的结点的最短路径长度(D n(i,j)即为图 G 中结点 i 到 j的最短路径长度),则求解该问题的递推关系式为_。(分数:1.00)A.Dk(i,j)=Dk-1(i,j)+C(i,j)B.Dk(i,j)=minDk-1(i,j),D
16、k-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)26.给定一个有 n 个元素的有序线性表。若采用顺序存储结构,则在等概率前提下,删除其中的一个元素平均需要移动_个元素。(分数:1.00)A.(n+1)/2B.n/2C.(n-1)/2D.127.为了便于存储和处理一般树结构形式的信息,常采用孩子一兄弟表示法将其转换成二又树(左子关系表示父子,右子关系表示兄弟),与图 1-3 所示的树对应的二叉树是_。(分数:1.00)A.B.C.D.28.下面 C 程序段中“count+”
17、语句执行的次数为_。for(int i=1;i=11;i*=2)for(int j=1;j=I;j+)count+;(分数:1.00)A.15B.16C.31D.3229.在平衡二叉树中,_。(分数:1.00)A.任意结点的左、右子树结点数目相同B.任意结点的左、右子树高度相同C.任意结点的左、右子树高度之差的绝对值不大于 1D.不存在度为 1 的结点30.对于二维数组 a04,15,设每个元素占 1 个存储单元,且以列为主序存储,则元素a2,2相对于数组空间起始地址的偏移量是_。(分数:1.00)A.5B.7C.10D.15求解该算法的计算时间时,仅考虑算法 Move 所做的计算为主要计算,
18、且 Move 为常数级算法。则算法 F 的计算时间 T(n)的递推关系式为 (25) ;设算法 Move 的计算时间为 k,当 n=4 时,算法F 的计算时间为 (26) 。(分数:2.00)A.T(n)=T(n-1)+1B.T(n)=2T(n-1)C.T(n)=2T(n-1)+1D.T(n)=2T(n+1)+1A.14kB.15kC.16kD.17k31.邻接矩阵和邻接表是图(网)的两种基本存储结构,对于具有 n 个顶点、e 条边的图,_。(分数:1.00)A.进行深度优先遍历运算所消耗的时间与采用哪一种存储结构无关B.进行广度优先遍历运算所消耗的时间与采用哪一种存储结构无关C.采用邻接表表
19、示图时,查找所有顶点的邻接顶点的时间复杂度为 O(n*e)D.采用邻接矩阵表示图时,查找所有顶点的邻接顶点的时间复杂度为 O(n2)32.对于 n(n0)个元素构成的线性序列 L,在_时适合采用链式存储结构。(分数:1.00)A.需要频繁修改 L 中元素的值B.需要频繁地对 L 进行随机查找C.需要频繁地对 L 进行删除和插入操作D.要求 L 存储密度高33.给定一组长度为 n 的无序序列,将其存储在一维数组 a0n-1中。现采用如下方法找出其中的最大元素和最小元素:比较 a0和 an-1,若 a0较大,则将二者的值进行交换;再比较a1和 an-2,若 a1较大,则交换二者的值;然后依次比较
20、a2和 an-3、a3和 an-4、,使得每一对元素中的较小者被交换到低下标端。重复上述方法,在数组的前 n/2 个元素中查找最小元素中在后 n/2 个元素中查找最大元素,从而得到整个序列的最小元素和最大元素。上述方法采用的算法设计策略是_。(分数:1.00)A.动态规划法B.贪心法C.分治法D.回溯法34.要在 88 的棋盘上摆放 8 个“皇后”,要求“皇后”之间不能发生冲突,即任何两个“皇后”不能在同一行、同一列和相同的对角线上,则一般采用_来实现。(分数:1.00)A.分治法B.动态规划法C.贪心法D.回溯法35.在_存储结构中,数据结构中元素的存储地址与其关键字之间存在某种映射关系。(
21、分数:1.00)A.顺序(Sequence)B.链表(Link)C.索引(Index)D.散列(Hash)36._算法策略与递归技术的联系最弱。(分数:1.00)A.动态规划B.贪心C.回溯D.分治某工程计划如图 1-6 所示,各个作业所需的天数如下表所示,设该工程从第 0 天开工,则该工程的最短工期是 (52) 天,作业 J 最迟应在第 (53) 天开工。(分数:2.00)A.B.C.D.A.B.C.D.为了在状态空间树中 (11) ,可以利用 LC-检索(Least Cost Search)快速找到一个答案结点。在进行 LC-检索时,为避免算法过分偏向于纵深检查,应该 (12) 。(分数:
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 软件 设计师 数据结构 算法 答案 解析 DOC
