【计算机类职业资格】软件设计师-17及答案解析.doc
《【计算机类职业资格】软件设计师-17及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】软件设计师-17及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、软件设计师-17 及答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:45,分数:100.00)1.对于线性表,相对于顺序存储,采用链表存储的缺点是_。(分数:2.00)A.数据元素之间的关系需要占用存储空间,导致存储密度不高B.表中结点必须占用地址连续的存储单元,存储密度不高C.插入新元素时需要遍历整个链表,运算的时间效率不高D.删除元素时需要遍历整个链表,运算的时间效率不高2.在字符串的 KMP 模式匹配算法中,需要先求解模式串中的 next 函数值,其定义如下式所示,j 表示模式串中字符的序号(从 1 开始)。若模式串 p 为“abaac“,则其。next 函数
2、值为_。 (分数:2.00)A.01234B.01122C.01211D.011113.若对线性表的最常用操作是访问任意指定序号的元素,并在表尾加入和删除元素,则适宜采用_存储。(分数:2.00)A.顺序表B.单链表C.双向链表D.哈希表4.某双端队列如下图所示,要求元素进出队列时必须在同一端口,即从 A 端进入的元素必须从 A 端出,从B 端进入的元素必须从 B 端出,则对于 4 个元素的序列 e1、e2、e3、e4,若要求前 2 个元素(e1,e2)从 A端口按次序全部进入队列,后两个元素(e3,e4)从 B 端口按次序全部进入队列,则可能得到的出队序列是_。 (分数:2.00)A.e1、
3、e2、e3、e4B.e2、e3、e4、e1C.e3、e4、e1、e2D.e4、e3、e2、e15.采用顺序表和单链表存储长度为 n 的线性序列,根据序号查找元素,其时间复杂度分别为_。(分数:2.00)A.O(1)、O(1)B.O(1)、O(n)C.O(n)、O(1)D.O(n)、O(n)6.设元素序列 a、b、c、d、e、f 经过初始为空的栈 S 后,得到出栈序列 c e d f b a,则栈 S 的最小容量为_。(分数:2.00)A.3B.4C.5D.67.输出受限的双端队列是指元素可以从队列的两端输入、但只能从队列的一端输出,如下图所示。若有e1、e2、e3、e4 依次进入输出受限的双端
4、队列,则得不到输出队列_。 (分数:2.00)A.e4、e3、e2、e1B.e4、e2、e1、e3C.e4、e3、e1、e2D.e4、e2、e3、e18.以下关于线性表存储结构的叙述,正确的是_。(分数:2.00)A.线性表采用顺序存储结构时,访问表中任意一个指定序号元素的时间复杂度为常量级B.线性表采用顺序存储结构时,在表中任意位置插入新元素的运算时间复杂度为常量级C.线性表采用链式存储结构时,访问表中任意一个指定序号元素的时间复杂度为常量级D.线性表采用链式存储结构时,在表中任意位置插入新元素的运算时间复杂度为常量级9.设循环队列 Q 的定义中有 front 和 size 两个域变量,其中
5、 front 表示队头元素的指针,size 表示队列的长度,如下图所示(队列长度为 3,队头元素为 X、队尾元素为 Z)。设队列的存储空间容量为 M,则队尾元素的指针为_。 (分数:2.00)A.(Q.front+Q.size-1)B.(Q.front+Q.size-1+M)%MC.(Q.front-Q.size)D.(Q.front-Q.size+M)%M10.在字符串的模式匹配过程中,如果模式串的每个字符依次和主串中的一个连续的字符序列相等,则成为匹配成功。如果不能在主串中找到与模式串相同的子串,则称为匹配失败。在布鲁特福斯模式匹配算法(朴素的或基本的模式匹配)中,若主串和模式串的长度分别
6、为 n 和 m(且 n 远大于 m),且恰好在主串末尾的 n 个字符处匹配成功,则在上述的模式匹配过程中,字符的比较次数最多为_。 A.n*m B.(n-m+1)*m C.(n-m-1)*m D.(n-m)*n(分数:2.00)A.B.C.D.11.对于一个长度大于 1 且不存在重复元素的序列,令其所有元素依次通过一个初始为空的队列后,再通过一个初始为空的栈。设队列和栈的容量都足够大,一个序列通过队列(栈)的含义是序列的每个元素都入队列(栈)且出队列(栈)一次且仅一次。对于该序列在上述队列和栈上的操作,正确的是_。(分数:2.00)A.出队序列和出栈序列一定相同B.出队序列和出栈序列一定互为逆
7、序C.入队序列和出队序列一定相同,入栈序列和出栈序列不一定相同D.入栈序列和出栈序列一定互为逆序,入队序列和出队序列不一定互为逆序12.在字符串的 KMP 模式匹配算法中,需要求解模式串 p 的 next 函数值,其定义如下所示。若模式串 p 为“aaabaaa”,则其 next 函数值为_。 (分数:2.00)A.0123123B.0123210C.0123432D.012345613.对于线性表(由 n 个同类元素构成的线性序列),采用单向循环链表存储的特定之一是_。(分数:2.00)A.从表中任意节点出发都能遍历整个链表B.对表中的任意节点可以进行随机访问C.对于表中的任意一个节点,访问
8、其直接前驱和直接后继节点所有时间相同D.第一个节点必须是头节点14.对二维数组 a1N,1N中的一个元素 ai,j(1i,jN),存储在 ai,j之前的元素个数_。(分数:2.00)A.与按行存储或按列存储方式无关B.在 i=j 时与按行存储或按列存储方式无关C.在按行存储方式下比按列存储方式下要多D.在按行存储方式下比按列存储方式下要少15.若二维数组 arr1M,1N的首地址为 base,数组元素按列存储且每个元素占用 K 个存储单元,则元素 arri,j在该数组空间的地址为_。(分数:2.00)A.base+(i-1)M+j-1)KB.base+(i-1)N+j-1)KC.base+(j
9、-1)M+i-1)KD.base+(j-1)N+i-1)K16.在某棵二叉查找树(即二叉排序树)中进行查找时,效率最差的情形是该二叉查找树是_。(分数:2.00)A.完全二叉树B.平衡二叉树C.单枝树D.满二叉树某二叉树如图 1 所示,若进行顺序存储(即用一维数组元素存储该二叉树中的结点且通过下标反映结点间的关系,例如,对于下标为 i 的结点,其左孩子的下标为 2i、右孩子的下标为 2i+1),则该数组的大小至少为_;若采用三叉链表存储该二叉树(各个结点包括结点的数据、父结点指针、左孩子指针、右孩子指针),则该链表的所有结点中空指针的数目为_。 (分数:4.00)A.6B.10C.12D.15
10、A.6B.8C.12D.1417.一个高度为 h 的满二叉树的节点总数为 2 h -1,从根结点开始,自上而下、同层次结点从左至右,对结点按照顺序依次编号,即根节点编号为 1,其左、右孩子节点编号分为 2 和 3,再下一层从左到右的编号为 4、5、6、7,依次类推。那么,在一颗满二叉树中,对于编号为 m 和 n 的两个节点,若 n=2m+1,则_结点。(分数:2.00)A.m 是 n 的左孩子B.m 是 n 的右孩子C.n 是 m 的左孩子D.n 是 m 的右孩子18.以下关于哈夫曼树的叙述,正确的是_。(分数:2.00)A.哈夫曼树一定是满二叉树,其每层结点数都达到最大值B.哈夫曼树一定是平
11、衡二叉树,其每个结点左右子树的高度差为-1、0 或 1C.哈夫曼树中左孩子结点的权值小于父结点、右孩子结点的权值大于父结点D.哈夫曼树中叶子结点的权值越小则距离树根越远、叶子结点的权值越大则距离树根越近19.若某二叉树的后序遍历序列为 KBFDCAE,中序遍历序列为 BKFEACD,则该二叉树为_。 A B C D (分数:2.00)A.B.C.D.20.若 n 2 、n 1 、n 0 分别表示一个二叉树中度为 2、度为 1 和叶子节点的数目(节点的度定义为节点的子树数目),则对于任何一个非空的二叉树,_。(分数:2.00)A.n2 一定大于 n1B.n1 一定大于 n0C.n2 一定大于 n
12、0D.n0 一定大于 n221.一棵满二叉树,其每一层节点个数都达到最大值,对其中的节点从 1 开始顺序编号,即根节点编号为1,其左、右孩子节点编号分别为 2 和 3,再下一层从左到右的编号为 4、5、6、7,依此类推,每一层都从左到右依次编号,直到最后的叶子节点层为止,则用_可判定编号为 m 和 n 的两个节点是否在同一层。 Alog 2 m=log 2 n B C D (分数:2.00)A.B.C.D.22._是由权值集合8,5,6,2构造的哈夫曼树(最优二叉树)。 A B C D (分数:2.00)A.B.C.D.23.以下编码方法中,_属于熵编码。(分数:2.00)A.哈夫曼编码B.小
13、波变换编码C.线性预测编码D.行程编码算术表达式采用逆波兰式表示时不用括号,可以利用_进行求值。与逆波兰式 ab-cd+ * 对应的表达式是_。(分数:4.00)A.数组B栈C.队列D.散列表(2). A.a-b+c*d B.(a-b)*c+d C.(a-b)*(c+d) D.a-b*c+d(分数:2.00)A.B.C.D.24.在_中,任意一个节点的左、右子树的高度之差的绝对值不超过 1。(分数:2.00)A.完全二叉树B.二叉排序树C.线索二叉树D.最优二叉树25.在一个有向图 G 的拓扑序列中,顶点 排列在 之前,说明图 G 中_。 A一定存在弧 B一定存在弧 C可能存在 到 的路径,而
14、不可能存在 到 的路径 D可能存在 到 的路径,而不可能存在 到 (分数:2.00)A.B.C.D.26.拓扑排序是将有向图中所有顶点排成一个线性序列的过程,并且该序列满足:若在 AOV 网中从顶点 Vi到 Vj 有一条路径,则顶点 Vi 必然在顶点 Vj 之前。对于如下图所示的有向图,_是其拓扑序列。 (分数:2.00)A.1234576B.1235467C.2135476D.213456727.从存储空间的利用率角度来看,以下关于数据结构中图的存储的叙述,正确的是_。(分数:2.00)A.有向图适合采用邻接矩阵存储,无向图适合采用邻接表存储B.无向图适合采用邻接矩阵存储,有向图适合采用邻接
15、表存储C.完全图适合采用邻接矩阵存储D.完全图适合采用邻接表存储28.无向图中一个顶点的度是指图中与该顶点相邻接的顶点数。若无向图 G 中的顶点数为 n,边数为 e,则所有顶点的度数之和为_。(分数:2.00)A.neB.n+eC.2nD.2e29.设一个包含 N 个顶点、E 条边的简单无向图采用邻接矩阵存储结构(矩阵元素 Aij等于 1/0 分别表示顶点 i 与顶点 j 之间有/无边),则该矩阵中的非零元素数据为_。(分数:2.00)ANBEC.2ED.N+E30.实现二分查找(折半查找)时,要求查找表_。(分数:2.00)A.顺序存储,关键码无序排列B.顺序存储,关键码有序排列C.双向链表
16、存储,关键码无序排列D.双向链表存储,关键码有序排列31.以下关于哈希(Hash,散列)查找的叙述中,正确的是_。(分数:2.00)A.哈希函数应尽可能复杂些,以消除冲突B.构造哈希函数时应尽量使关键字的所有组成部分都能起作用C.进行哈希查找时,不再需要与查找表中的元素进行比较D.在哈希表中只能添加元素不能删除元素32.某哈希表(散列表)的长度为 n,设散列函数为 H(Key)=Key mod p,采用线性探测法解决冲突。以下关于 p 值的叙述中,正确的是_。(分数:2.00)A.p 的值一般为不大于 n 且最接近 n 的质数B.p 的值一般为大于 n 的任意整数C.p 的值必须为小于 n 的
17、合数D.p 的值必须等于 n33.在 13 个元素构成的有序表 M113中进行折半查找(向下取整),若找到的元素为 M4,则被比较的元素依次为_。(分数:2.00)A.M7、M3、M5、M4B.M7、M5、M4C.M7、M6、M4D.M7、M434.下图所示为一棵 N 阶 B-树,N 最有可能的值为_。 (分数:2.00)A.1B.2C.3D.435.对 n 个元素的有序表 A1n进行顺序查找,其成功查找的平均查找长度(即在查找表中找到指定关键码的元素时,所进行比较的表中元素个数的期望值)为_。 A.n B.(n+1)/2 C.log2n D.n2(分数:2.00)A.B.C.D.36.对于关
18、键字序列(26,25,72,38,8,18,59),采用散列函数 H(Key)=Key mod 13 构造散列表(哈希表)。若采用线性探测的开放定址法解决冲突(顺序地探查可用存储单元),则关键字 59 所在散列表中的地址为_。(分数:2.00)A.6B.7C.8D.9快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于基准元素,而后面一部分元素值大于基准元素,然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了_算法设计策略。已知基准元素操作的时间复杂度为 O(n),则快速排序算法的最好和最坏情况下的时
19、间复杂度为_。(分数:4.00)A.分治B.动态规划C.贪心D.回溯(2). A.O(n)和 O(nlgn) B.O(n)和 O(n2) C.O(nlgn)和 O(nlgn) D.O(nlgn)和 O(n2)(分数:2.00)A.B.C.D.37.对一待排序序列分别进行直接插入排序和简单选择排序,若待排序序列中有两个元素的值相同,则_保证这两个元素在排序前后的相对位置不变。(分数:2.00)A.直接插入排序和简单选择排序都可以B.直接插入排序和简单选择排序都不能C.只有直接插入排序可以D.只有简单选择排序可以对 n 个基本有序的整数进行排序,若采用插入排序算法,则时间和空间复杂度分别为_;若采
20、用快速排序算法,则时间和空间复杂度分别为_。(分数:4.00)(1). A.O(n2)和 O(n) B.O(n)和 O(n) C.O(n2)和 O(1) D.O(n)和 O(1)(分数:2.00)A.B.C.D.(2). A.O(n2)和 O(n) B.O(nlgn)和 O(n) C.O(n2)和 O(1) D.O(nlgn)和 O(1)(分数:2.00)A.B.C.D.将数组1,1,2,4,7,5从小到大排序,若采用_排序算法,则元素之间需要进行的比较次数最少,共需要进行_次元素之间的比较。(分数:4.00)A.直接插入B.归并C堆D.快速A.5B.6C.7D.838.递增序列 A(a 1
21、,a 2 ,a n )和 B(b 1 ,b 2 ,b n )的元素互不相同,若需将它们合并为一个长度为 2n 的递增序列,则当最终的排列结果为_时,归并过程中元素的比较次数最多。(分数:2.00)A.a1,a2,an,b1,b2,bnB.b1,b2,bn,a1,a2,anC.a1,b1,b2,b2,ai,bi,an,bnD.a1,a2,ai/2,b1,b2,bi/2,ai/2+1,ai/2+2,an,bi/2+1,bi/2+2,bn39.用插入排序和归并排序算法对数组3,1,4,1,5,9,6,5进行从大到小排序,则分别需要进行_次数组元素之间的比较。(分数:2.00)A.12,14B.10,
22、14C.12,16D.10,16已知一个文件中出现的各个字符及其对应的频率如下表所示。若采用定长编码,则该文件中字符的码长应为_上。若采用 Huffman 编码,则字符序列“face”的编码应为_。 字符 a b c d e f 频率(%) 45 13 12 16 9 5 (分数:2.00)A.2B.3C.4D.5A.110001001101B.001110110011C.101000010100D.010111101011软件设计师-17 答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:45,分数:100.00)1.对于线性表,相对于顺序存储,采用链表存储的缺点是
23、_。(分数:2.00)A.数据元素之间的关系需要占用存储空间,导致存储密度不高 B.表中结点必须占用地址连续的存储单元,存储密度不高C.插入新元素时需要遍历整个链表,运算的时间效率不高D.删除元素时需要遍历整个链表,运算的时间效率不高解析:解析 链接需要额外的空间存储结点之间的连接关系,因此存储密度不高,但其优点是插入和删除单个元素的时间复杂度为 0(1)。2.在字符串的 KMP 模式匹配算法中,需要先求解模式串中的 next 函数值,其定义如下式所示,j 表示模式串中字符的序号(从 1 开始)。若模式串 p 为“abaac“,则其。next 函数值为_。 (分数:2.00)A.01234B.
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 软件 设计师 17 答案 解析 DOC
