[计算机类试卷]软件水平考试(中级)软件设计师上午(基础知识)试题模拟试卷77及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师上午(基础知识)试题模拟试卷77及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师上午(基础知识)试题模拟试卷77及答案与解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师上午(基础知识)试题模拟试卷 77及答案与解析 1 以下关于线性表采用链式存储时删除结点运算的描述,正确的是 (1)。 ( A)带头结点的线性链表删除结点时,不需要更改头指针 ( B)带头结点的线性链表删除第一个结点时,需要更改头指针 ( C)不带头结点的线性链表删除结点时,需要更改头指针 ( D)不带头结点的线性链表删除第一个结点时,不需要更改头指针 2 给定一个有 n个元素的有序线性表。若采用顺序存储结构,则在等概率前提下,删除其中的一个元素平均需要移动 (2)个元素。3 下列叙述中,不正确的是 (3)。 ( A)线性表在链式存储时,查找第 i个元素的时间与
2、i的值成正比 ( B)线性表在链式存储时,查找第 i个元素的时间与 i的值有关 ( C)线性表在顺序存储时,查找第 i个元素的时间与 i的值成正比 ( D)线性表在顺序存储时,查找第 i个元素的时间与 i的值无关 4 双向循环链表中,在 p所指向的结点之后插入 s指向的结点,其修改指针的操作是 (4),其中 p指向的不是最后一个结点。 ( A) p-next=s; s-prev=p; p-next-prev=s; s-next=-next; ( B) p-next-prev=s; p-next=-s; s-prev=p; s-next=p-next; ( C) s-prev=p; s-next
3、=p-next; p-next=s; p-next-prev=s; ( D) s-prev=p; s-next=p-next; p-next-prev=s; p-next=s; 5 若元素 a, b, c, d, e, f依次进栈,允许进栈、退栈操作交替进行。但不允许连续三次进行退栈工作,则不可能得到的出栈序列是 (5)。 ( A) dcebfa ( B) cbdaef ( C) bcaefd ( D) afedcb 6 一个栈的入栈元素序列是 1、 2、 3、 4、 5,若允许出栈操作可在任意可能的时刻进行,则下面的序列中,不可能出现的出栈序列是 (6)。 ( A) 3、 4、 2、 5、
4、1 ( B) 2、 5、 4、 1、 3 ( C) 2、 3、 1、 5、 4 ( D) 3、 5、 4、 2、 1 7 下面二叉树中一定是完全二叉树的是 (7)。 ( A)平衡二叉树 ( B)满二叉树 ( C)单枝二叉树 ( D)二叉排序树 8 在一棵度为 4的树 T中,若有 20个度为 4的结点, 10个度为 3的 结点, 1个度为 2的结点, 10个度为 1的结点,则树 T的叶子结点的个数是 (8)。 ( A) 41 ( B) 82 ( C) 113 ( D) 122 9 已知某二叉树的先序序列为 abcde,它可能的中序序列为 (9)。 ( A) bdaec ( B) bcade (
5、C) ecadb ( D) beacd 10 一棵度为 3的树中,有 3度结点 100个,有 2度结点 200个,有叶子结点 (10)个。 ( A) 399 ( B) 400 ( C) 401 ( D) 402 11 在查找算法中,可用平均查找长度 (记为 ASL)来衡量一个查找 算法的优劣,其定义为: 此处 Pi为表中第 i个记录被查找的概率, Ci为查找第 i个记录时同关键字比较的次数, n为表中记录数。 以下叙述中均假定每一个记录被查找的概率相等,即 Pi=1 n(i=1, 2, , n)。当表中的记录连续有序存储在一个一维数组中时,采用顺序查找与折半查找方法查找的 ASL值分别是 (1
6、1)。 ( A) O(n), O(n) ( B) O(n), O(1bn) ( C) O(n1bn), O(n) ( D) O(1bn), O(1bn) 12 根据使用频率,为 5个字符设计哈夫曼编码不可能是 (12)。 ( A) 1 11, 1 10, 10, 01, 00 ( B) 000, 001, 010, 01 1, 1 ( C) 001, 000, 10, 01, 1 1 ( D) 1 10, 100, 101, 11, 1 13 二叉树在线索化后,仍不能有效解决的问题是 (13)。 ( A)先序线索二叉树中求先序后继 ( B)中序线索二叉树中求中序后继 ( C)中序线索二叉树中求
7、中序前驱 ( D)后序线索二叉树中求后序后继 14 由元素序列 (27, 16, 75, 38, 51)构造平衡二叉树,则首次出现的最小不平衡子树的根 (即离插入结点最近且平衡因子的绝对 值为 2的结点 )为 (14)。 ( A) 27 ( B) 38 ( C) 51 ( D) 75 15 若 G是一个具有 36条边的非连通无向图 (不含自回路和多重边 ),则图 G至少有(15)个顶点。 ( A) 11 ( B) 10 ( C) 9 ( D) 8 16 有向图 1-1的所有拓扑排序序列有 (16)个。 ( A) 2 ( B) 4 ( C) 6 ( D) 7 17 设下三角矩阵 (上三角部分的元
8、素值都为 0)A0 n, 0 n如图 1-2所示,将该三角矩阵的所有非零元素 (即行下标不小于列下标的元素 )按行优先压缩存储在容量足够大 的数组 M中 (下标从 1开始 ),则元素 Ai, j(0in, ji)存储在数组 M的 (17)中。 18 在内排序的过程中,通常需要对待排序的关键码集合进行多遍扫描。采用不同排序方法,会产生不同的排序中间结果。设要将序列 中的关键码按字母的升序重新排列,则 (18)是冒泡排序一趟扫描的结果。 ( A) F, H, C, D, P, A, M, Q, R, S, Y, X ( B) P, A, C, S, Q, D, F, X, R, H, M, Y (
9、 C) A, D, C, R, F, Q, M, S, Y, P, H, X ( D) H, C, Q, P, A, M, S, R, D, F, X, Y 19 用插入排序和归并排序算法对数组 进行从小到大排序,则分别需要进行 (19)次数组元素之间的比较。 ( A) 12, 14 ( B) 10, 14 ( C) 12, 16 ( D) 10, 16 20 递归算法的执行过程,一般来说,可先后分成 (20)两个阶段。 ( A)试探和回归 ( B)递推和回归 ( C)试探和返回 ( D)递推和返回 21 若有数组声明 a0 3, 0 2, 1 4,设编译时为 a分配的存储空间 首地址为 ba
10、se_a,且每个数组元素占据一个存储单元。当元素以行为序存放 (即按 a0,0, 1, a0, 0, 2, a0, 0, 3, a0, 0, 4, a0, 1, 1, a0, 1, 2, , a3,2, 4顺序存储 ),则数组元素 a2, 2, 2在其存储空间中相对 base_a的偏移量是(21)。 ( A) 8 ( B) 12 ( C) 33 ( D) 48 22 一个具有 967个结点的完全二叉树,其叶子结点个数为 (22)。 ( A) 483 ( B) 484 ( C) 485 ( D) 486 23 若循环队列以数 组 Q0, , m-1作为其存储结构,变量 rear表示循环队列中队尾
11、元素的实际位置,其移动按 rear=(rear+1)mod m进行,变量 length表示当前循环队列中的元素个数,则循环队列的队首元素的实际位置是 (23)。 ( A) rear-length ( B) (rear-length+m)mod m ( C) (1+rear+m-length)mod m ( D) m-length 24 若一棵哈夫曼树共有 13个顶点,则其叶子结点的个数为 (24)。 ( A) 5 ( B) 6 ( C) 7 ( D) 8 25 若广义表 L=(a, b, c), e),则 L的长度和深度分别为 (25)。 ( A) 2和 1 ( B) 2和 2 ( C) 4和
12、 2 ( D) 4和 1 26 若二叉树的先序遍历序列为 ABDECF,中序遍历序列为 DBEAFC,则其后序遍历序列为 (26)。 ( A) DEBAFC ( B) DEFBCA ( C) DEBCFA ( D) DEBFCA 27 已知一个线性表 (38, 25, 74, 63, 52, 48),假定采用散列函数 h(key)=key 7计算散列地址,并散列存储在散列表 A0, , 6中,若采用线性探测方法解决冲突,则在该散列表上进行等概率成功查找的平均查找长度为 (27)。 ( A) 1 5 ( B) 1 7 ( C) 2 0 ( D) 2 3 28 设某算法的计算时间可用递推关系式 T
13、(n)=2T(n 2)+n表示,则该算法的时间复杂度为 (28)。 ( A) O(1gn) ( B) O(n1gn) ( C) O(n) ( D) O(n2) 29 (29)算法策略与递归技术的联系最弱。 ( A)分治 ( B)动态规划 ( C)贪心 ( D)回溯 30 对于具有 n个元素的一个数据序列,若只需得到其中第 k个元素之前的部分排序 ,最好采用 (30)。 ( A)直接插入排序 ( B)希尔排序 ( C)快速排序 ( D)堆排序 软件水平考试(中级)软件设计师上午(基础知识)试题模拟试卷 77答案与解析 1 【正确答案】 A 【试题解析】 带头结点的线性链表的头指针指向其头结点,而
14、该头结点是不能被删除的,所以头指针的值不需要更改。不带头结点的线性链表在删除第一个结点后,需要将头指针指向新的第一个结点,而如果删除其他结点,则不需要更改头指针。 【知识模块】 数据结构与算法基础 2 【正确答案】 C 【试题解析】 题目要 求计算进行删除操作时平均移动元素个数,如图 1-3所示,若要删除 f,则无须移动任何元素,直接删除即可;若要删除 e,则需要移动 1个元素,即把 f移至 e位置;若要删除 d,则需要移动 2个元素,把 e移至 d位置,再把 f移至 e位置;依此类推,要删除第 1个元素,则需要移动 n-1个元素。由于每个元素被删除的概率是相等的,所以平均需要移动的元素个数为
15、: 所以此题答案为 C。 【知识模块】 数据结构与算法基础 3 【正确答案】 C 【试题解析】 顺序存储结构的特点是 “顺序存储,随机存取 ”,也就是说,线性表在顺序存 储时,查找第 i个元素的时间与 i的值无关。 链式存储结构的特点则是 “随机存储,顺序存取 ”,也就是说,链式存储结构的数据元素可以随机地存储在内存单元中,但访问其中的任意一个数据元素时,都必须从其头指针开始逐个进行访问。 【知识模块】 数据结构与算法基础 4 【正确答案】 D 【试题解析】 其插入方法如图 1-4所示。 一般情况下,做此类题的一个捷径是判断代码 “p-next=s”后是否还有通过指针 “p-next”访问 p
16、以前的直接后继的引用,有则错误。因为一旦执行完代码 “p-next=s”, p的直接后继就更改为 s,此后 “p-next”不再是 p以前的直接后继。例如,试题中 A、 B和 C选项均在 “p-next=s”之后使用了 “p-next”,所以选项 A、 B和 C错误,根据排除法,选项 D正确。另外,建议考生在编写插入代码时,将 “p-next=s”写成插入算法的最后一步。【知识模块】 数据结构与算法基础 5 【正确答案】 D 【试题解析】 栈按照后进先出的原则操作数据。 选项 A可以按照 a入栈、 b入栈、 c入栈、 d入栈、 d出栈、 c出栈、 e入栈、 e出栈、 b出栈、 f入栈、 f出栈
17、 、 a出栈的方式得到。只有连续 2次出栈操作,符合试题要求。 选项 B可以按照 a入栈、 b入栈、 c入栈、 c出栈、 b出栈、 d入栈、 d出栈、 a出栈、 e入栈、 e出栈、 f入栈、 f出栈的方式得到。只有连续 2次出栈操作,符合试题要求。 选项 C可以按照 a入栈、 b入栈、 b出栈、 c入栈、 c出栈、 a出栈、 d入栈、 e入栈、 e出栈、 f入栈、 f出栈、 d出栈的方式得到。只有连续 2次出栈操作,符合试题要求。 选项 D可以按照 a入栈、 a出栈、 b入栈、 c入栈、 d入栈、 e入栈、 f入栈、 f出栈、 e出栈、 d出栈、 c出栈、 b出栈的方式得到,但 这个顺序不符合
18、题目中不允许连续三次进行退栈的要求。 【知识模块】 数据结构与算法基础 6 【正确答案】 B 【试题解析】 栈的特点是先进后出,按照以下步骤可以很快找到答案: (1)选择出栈序列的第一个元素 a,入栈序列中在 a之前的元素必须按照逆序出现在出栈序列中,如果不按照逆序出栈,则此出栈序列不合法,否则执行下一步。 (2)从入栈序列和出栈序列中将元素 a删除,如果删除 a后出栈序列为空,则说明此出栈序列合法,否则回到上一步继续执行。 在本题中, B选项的第一个出栈元素为 2,在 2之前入栈的元素的为 1,由于只有一个元素,故无论如何将会逆序出栈;在序列中剔除 2,则入栈序列为 1、 3、4、 5,出栈
19、序列变为 5、 4、 1、 3。分析元素 5,在新的入栈序列中, 5之前的元素入栈序列为 1、 3、 4,而出栈序列为 4、 1、 3,不满足逆序出栈的条件,所以选项B是不可能出现的出栈序列。 【知识模块】 数据结构与算法基础 7 【正确答案】 B 【试题解析】 满二叉树除最后一层外,每一层上的所有结点都有两个子结点,满二叉树中每一层上的结点的数都达到最大,即在满二叉的第 k层上有 2k-1个结点,否则就不 是满二叉树。 深度为 m的满二叉树有 2m-1个结点。 完全二叉树除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。满二叉树也是完全二叉树,反之完全二叉树不一定
20、是满二叉树。平衡二叉树,单支二叉树和二叉排序树既不一定是满二叉树,也不一定是完全二叉树。 【知识模块】 数据结构与算法基础 8 【正确答案】 B 【试题解析】 在树中,除根结点外,其余所有结点都是由其双亲结点引出的。一个度为 n的结点表示由该结点引出 n个孩子结点,因此,树 T的结点个数为204+103+12+101+1=123,其中最后的 1为根结点,则叶子结点数为 123-(20+10+1+10)=82个。 【知识模块】 数据结构与算法基础 9 【正确答案】 B 【试题解析】 二叉树的先序序列可以分为连续的 3个部分:根结点、左子树部分、右子树部分。中序遍历也可以分为 3个部分:左子树部分
21、、根结点、右子树部分。题目给出的先序序列为 abcde,可知 a为根结点。 在 A选项中,给出的中序序列 bdaec表示 bd是左子树部分, ec是右子树部分,这与先序序列 abcde矛盾 (在先序序列中, bd不在一起, ec也不在一起 ),因此,不是可 能的中序序列。 在 B选项中,给出的序列 bcade表示 bc是左子树部分, de是右子树部分,这与先序序列 abode不矛盾,是可能的中序序列。对左子树部分而言,在先序序列中的顺序是 bc,说明 b是根结点;在中序序列中的顺序也是 bc,说明 c是 b的右孩子。对右子树而言,在先序序列中的顺序是 de,说明 d是根结点;在中序序列中的顺序
22、也是 de,说明 e是 d的右孩子。因此, B选项符合要求。 在 C选项中,给出的中序序列 ecadb表示 ec是左子树部分, db是右子树部分,这与先序序列 abode矛盾 (在先序序列中, ec不在一起, db也不在一起 ),因此不是可能的中序序列。 在 D选项中,给出的中序序列 beacd表示 be是左子树部分, cd是右子树部分,这与先序序列 abode矛盾 (在先序序列中, be不在一起 ),因此,不是可能的中序序列。 【知识模块】 数据结构与算法基础 10 【正确答案】 C 【试题解析】 先推导这种题目的一般解法得到结论,然后再将已知条件代入。 首先,统计树中结点的总数 n。设树中
23、度为 0的结点个数为 n0,度为 1的结点个数为 n1,度为 2的结点个数为 n2,度为 3的结点 个数为 n3,则树的结点总数为n=n0+n1+n2+n3。因为树的根结点没有双亲结点,进入它的边数为 0,其他每个结点都有一个且仅有一个双亲结点,进入它们的边数各为 1,故树中总的边数为e=n-1=n0+n1+n2+n3-1。 又由于每个度为 0的结点发出 0条边,每个度为 1的结点发出 1条边,每个度为 2的结点发出 2条边,每个度为 3的结点发出 3条边,因此,总的边数可以表示为 e=n1+2*n2+3*n3。 将 e的等式等同起来,有,n0+n1+n2+n3-1=n1+2*n2+3*n3,
24、则有 n0=n2+2*n3+1。 在本题 中,由题意可知,n2=200, n3=100,则 n0=401。 【知识模块】 数据结构与算法基础 11 【正确答案】 B 【试题解析】 顺序查找的基本思想是:从表的一端开始,顺序扫描线性表,依次将扫描到的结点关键字和给定值 k相比较。若当前扫描到的结点关键字与 k相等,则查找成功;若扫描结束后,仍未找到关键字等于 k的结点,则查找失败。顺序查找方法既适用于线性表的顺序存储结构,也适用于线性表的链式存储结构。 成功的顺序查找的平均查找长度如下: ASL= =np1+(n-1)p2+2p n-1+pn 在等 概率情况下, pi=1 n(1in),故成功的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 上午 基础知识 试题 模拟 77 答案 解析 DOC
