【计算机类职业资格】程序员-数据结构与算法(三)及答案解析.doc
《【计算机类职业资格】程序员-数据结构与算法(三)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】程序员-数据结构与算法(三)及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、程序员-数据结构与算法(三)及答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:40,分数:100.00)1.设数组 a1m,1n(2mn),其第一个元素为 a1,1,最后一个元素为 am,n,若数细元素以行为主序存放,每个元素占用 k 个存储单元(k1),则元素 a2,2的存储位置相对于数组空间首地址的偏移量为_。A(n+1)*k Bn*k+1 C(m+1)*k Dm*k+1(分数:2.00)A.B.C.D.2.某研究机构有 n 名研究人员(n2),其每个人都与一名以上的同事有过研究项目合作关系,那么用_结构表示该机构研究人员间的项目合作关系较为合适。A树 B图 C
2、栈 D队列(分数:2.00)A.B.C.D.3.以下关于字符串的叙述中,正确的是_。A包含任意个空格字符的字符串称为空串B仅包含一个空格字符的字符串称为空串C字符串的长度是指串中所含字符的个数D字符串的长度是指串中所含非空格字符的个数(分数:2.00)A.B.C.D.4.设循环队列 Q 的定义中有 rear 和 size 两个域变量,其中,rear 指示队尾元素之后的位置,size 表示队列的长度,如图所示(队列长度为 3,队头元素为 x)。设队列的存储空间容量为 M,则队头元素的位置为_。(分数:2.00)A.B.C.D.5.已知某二叉树的先序遍历序列为 ABCD,中序遍历序列为 BADC,
3、则该二叉树的后序遍历序列为_。ABDCA BCDBA CDBCA DBCDA(分数:2.00)A.B.C.D.6.对于任意一个结点数为 n(n0)的二叉树,其高度 h_。A一定大于 n B一定小于 nC一定小于 log2n D一定大于 log2n(分数:2.00)A.B.C.D.7._最不适用于处理序列已经正序有序的情况。A冒泡排序 B快速排序 C归并排序 D直接插入排序(分数:2.00)A.B.C.D.8.以下关于顺序查找和二分查找的叙述中,正确的是_。A顺序查找方法只适用于采用顺序存储结构的查找表B顺序查找方法只适用于采用链表存储结构的查找表C二分查找只适用于采用顺序存储结构的查找表D二分
4、查找只适用于采用循环链表存储结构的查找表(分数:2.00)A.B.C.D.9.以下关于图的存储结构的叙述中,正确的是_。A有向图的邻接矩阵一定是对称的B有向图的邻接矩阵一定是不对称的C无向图的邻接矩阵一定是对称的D无向图的邻接矩阵一定是不对称的(分数:2.00)A.B.C.D.10.设数组 a1n,1m(m1,n1)中的元素以行为主序存放,每个元素占用 1 个存储单元,则数组元素 ai,j(1in,1jm)相对于数组空间首地址的偏移量为_。A(i-1)*m+j-1 B(i-1)*n+j-1C(j-1)*m+i-1 D(i-1)*n+j-1(分数:2.00)A.B.C.D.11.线性表采用单链表
5、存储结构时,访问表中元素的方式为_。A随机存取 B顺序存取 C索引存取 D散列存取(分数:2.00)A.B.C.D.12.有 n 个结点的有序单链表中插入一个新结点并保持有序的运算的时间复杂度为_。AO(1) BO(logn) CO(n) DO(n2)(分数:2.00)A.B.C.D.13.栈和队列的主要区别是_。A逻辑结构不同 B存储结构不同C基本运算数目不同 D插入运算和删除运算的要求不同(分数:2.00)A.B.C.D.14._不属于特殊矩阵。A对称矩阵 B对角矩阵 C稀疏矩阵 D三角矩阵(分数:2.00)A.B.C.D.15.一个高度为 h 的满二叉树的结点总数为 2h-1,其每一层结
6、点个数都达到最大值。从根结点开始顺序编号,每一层都从左到右依次编号,直到最后的叶子结点层为止。即根结点编号为 1,其左、右孩子结点编号分别为 2 和 3,再下一层从左到右的编号为 4、5、6、7,依此类推,那么,在一棵满二叉树中,埘于编号为 m 和 n 的两个结点,若 m=2n,则结点_。Am 是 n 的左孩子 Bm 是 n 的右孩予Cn 是 m 的左孩子 Dn 是 m 的右孩子(分数:2.00)A.B.C.D.16.在一棵非空二叉排序树中,关键字最小的结点的_。A左子树一定为空、右子树不一定为空B左子树不一定为空、右子树一定为空C左子树和右子树一定都为空D左子树和右子树一定都不为空(分数:2
7、.00)A.B.C.D.17.若采用链地址法对关键字序列(74,10,23,6,45,38,18)构造哈希表(或散列表),设敞列函数为H(Key)=Key%7(%表示整除取余运算),则哈希表中地址为_的单链表长度为 0(即没有关键字被映射到这些哈希地址)。A0、1 和 2 B1、2 和 3 C1、3 和 5 D0、1 和 5(分数:2.00)A.B.C.D.18.有 6 个顶点的图 G 的邻接表如下所示,以下关于图 G 的叙述中,正确的是_。(分数:2.00)A.B.C.D.19.单链表不具有的特点是_。A插入、删除运算不需要移动元素B可随机访问链表中的任一元素C不必事先估计存储空间值D所需存
8、储空间量与线性表长度成正比(分数:2.00)A.B.C.D.20.不适合采用栈结构的是_。A判断一个表达式中的括号是否匹配B判断一个字符串是否是中心对称C按照深度优先的方式后序遍历二叉树D按照层次顺序遍历二叉树(分数:2.00)A.B.C.D.21.设有字符串 S 和 P,串的模式匹配是指_。A确定 P 在 S 中首次出现的位置 B将 S 和 P 连接起来C将 S 替换为 P D比较 S 和 P 是否相同(分数:3.00)A.B.C.D.22.以下关于特殊矩阵和稀疏矩阵的叙述中,正确的是_。A特殊矩阵适合采用双向链表存储,稀疏矩阵适合采用单向链表存储B特殊矩阵的非零元素分布有规律,可以用一维数
9、组进行压缩存储C稀疏矩阵的非零元素分布没有规律,只能用二维数组压缩存储D稀疏矩阵的非零元素分布没有规律,只能用双向链表进行压缩存储(分数:3.00)A.B.C.D.23.已知某二叉树的先序遍历序列为 ABDCEFG、中序遍历序列为 BDACFGE,则该二叉树的层数为_。A3 B4 C5 D6(分数:3.00)A.B.C.D.24.在一棵非空的二叉排序树中,关键字最大的结点的_。A左子树一定为空,右子树不一定为空B左子树不一定为空,右子树一定为空C左子树和右子树一定都为空D左子树和右子树一定都不为空(分数:3.00)A.B.C.D.25.为实现快速排序算法,待排序列适合采用_。A顺序存储 B链式
10、存储 C散列存储 D索引存储(分数:3.00)A.B.C.D.26.若某无向图具有 n 个顶点、e 条边,则其邻接矩阵中值为 0 的元素个数为_。Ae B2e Cn*n-2e Dn-2e(分数:3.00)A.B.C.D.27.以下关于程序流程图、N-S 盒图和决策表的叙述中,错误的是_。AN-S 盒图可以避免随意的控制转移BN-S 盒图可以同时表示程序逻辑和数据结构C程序流程图中的控制流可以任意转向D决策表适宜表示多重条件组合下的行为(分数:3.00)A.B.C.D.28.以下关于哈希表的叙述中,错误的是_。A哈希表中元素的存储位置根据该元素的关键字值计算得到B哈希表中的元素越多,插入一个新元
11、素时发生冲突的可能性就越小C哈希表中的元素越多,插入一个新元素时发生冲突的可能性就越大D哈希表中插入新元素发生冲突时,需要与表中某些元素进行比较(分数:3.00)A.B.C.D.下三角矩阵 A08,08如下图所示,若将其下三角元素(即行下标不小于列下标的所有元素)按列压缩存储在数组 M0m中,即 A0,0存储在 M0、A1,0存储在 M1、A2,0存储在 M2,A8,8存储在 M44,则元素 A5,5存储在_。若将其下三角元素按行压缩存储在数组 M0m中,即 A0,0存储在 M0、A1,0存储在 M1、A1,1存储在 M2,A8,8存储在 M44,则元素 A5,5存储在_。(分数:6.00)(
12、1).AM15 BM20 CM35 DM39(分数:3.00)A.B.C.D.(2).AM15 BM20 CM35 DM39(分数:3.00)A.B.C.D.29.对 n 个元素的有序表 A1n进行二分(折半)查找,则成功查找到表中的任意一个元素时,最多与 A中的_个元素进行比较。An-1 Bn/2 C(log 2n)-1 D(log 2n)+1(分数:3.00)A.B.C.D.30.某二叉树为单枝树(即非叶子节点只有一个孩子节点)且具有 n 个节点(n1)则该二叉树_。A共有 n 层,每层有一个节点B共有 log2n 层,相邻两层的节点数正好相差一倍C先序遍历序列与中序遍历序列相同D后序遍历
13、序列与中序遍历序列相同(分数:3.00)A.B.C.D.31.以下应用中,必须采用栈结构的是_。A使一个整数序列逆转 B递归函数的调用和返回C申请和释放单链表中的节点 D装入和卸载可执行程序(分数:3.00)A.B.C.D.32.某图的邻接矩阵如下所示,则该图为_。ABCD (分数:3.00)A.B.C.D.33.在直接插入排序、冒泡排序、简单选择排序和快速排序方法中,能在第一趟排序结束后就得到最大(或最小)元素的排序方法是_。A冒泡排序和快速排序 B直接插入排序和简单选择排序C冒泡排序和简单选择排序 D直接插入排序和快速排序(分数:3.00)A.B.C.D.34.现需要将数字 2 和 7 分
14、别填入 6 个空格中的 2 个(每个空格只能填入一个数字),已知第 1 格和第 2 格不能填 7,第 6 格不能填 2,则共有_种填法。A12 B16 C17 D20(分数:3.00)A.B.C.D.35.许多工作需要用曲线来拟合平面上一批离散的点,以便于直观了解趋势,也便于插值和预测。例如,对平面上给定的 n 个离散点(Xi,Yi)i=1,n),先依次将每 4 个点分成一组,并且前一组的尾就是后一组的首;再对每一组的 4 个点,确定一段多项式函数曲线使其通过这些点。一般来说,通过给定的 4个点可以确定一条_次多项式函数曲线恰好通过这 4 个点。A2 B3 C4 D5(分数:3.00)A.B.
15、C.D.36.设 A 是 n*n 常数矩阵(n1),X 是由未知数 X1,X 2,X n组成的列向量,B 是由常数 b1,b 2,b n组成的列向量,线性方程组 AX=B 有唯一解的充分必要条件不是_。AA 的秩等于 n BA 的秩不等于 0 CA 的行列式值不等于 0 DA 存在逆矩阵(分数:3.00)A.B.C.D.37.若在单向链表上,除访问链表中所有节点外,还需在表尾频繁插入节点,那么采用_最节省时间。A仅设尾指针的单向链表 B仅设头指针的单向链表C仅设尾指针的单向循环链表 D仅设头指针的单向循环链表(分数:2.00)A.B.C.D.38.已知某二叉树的先序遍历序列是 ABDCE,中序
16、遍历序列是 BDAEc,则该二叉树为_。ABCD (分数:2.00)A.B.C.D.39.对于二维数组 a16,18,设每个元素占 2 个存储单元,且以列为主序存储,则元素 a4,4相对于数组空间起始地址的偏移量是_个存储单元。A28 B42 C48 D54(分数:2.00)A.B.C.D.程序员-数据结构与算法(三)答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:40,分数:100.00)1.设数组 a1m,1n(2mn),其第一个元素为 a1,1,最后一个元素为 am,n,若数细元素以行为主序存放,每个元素占用 k 个存储单元(k1),则元素 a2,2的存储位置
17、相对于数组空间首地址的偏移量为_。A(n+1)*k Bn*k+1 C(m+1)*k Dm*k+1(分数:2.00)A. B.C.D.解析:解析 本题考查数组元素的存储。二维数组的存储结构可分为以行为主序和以列为主序两种方法。设每个元素占用 k 个单元,m、n 为数组的行数和列数,则以行为主序优先存储的地址计算公式为:Loc(aij)=Loc(a11)+(i-1)*n+(j-1)*k;以列为主序优先存储的地址计算公式为:Loc(aij)=Loc(a11)+(j-1)*m+(i-1)*karr2,2-arr1,1=(1*n+1)*k=(n+1)*k2.某研究机构有 n 名研究人员(n2),其每个人
18、都与一名以上的同事有过研究项目合作关系,那么用_结构表示该机构研究人员间的项目合作关系较为合适。A树 B图 C栈 D队列(分数:2.00)A.B. C.D.解析:解析 图是比树结构更复杂的一种数据结构。在图结构中,任意两个节点之间都可能有直接的关系,一个节点的前驱和后继的数目是没有限制的。图结构被用于描述各种复杂的数据对象。而在树结构中,除根节点没有前驱节点外,其余的每个节点只有唯一的一个前驱节点和多个后继结点。因此,题目中描述的关系用图结构表示较为合适。3.以下关于字符串的叙述中,正确的是_。A包含任意个空格字符的字符串称为空串B仅包含一个空格字符的字符串称为空串C字符串的长度是指串中所含字
19、符的个数D字符串的长度是指串中所含非空格字符的个数(分数:2.00)A.B.C. D.解析:解析 串(string)是字符串的简称,是由零个或多个字符组成的有限序列,记为 S=“a123an”。含零个字符的串(Null String)称为空串,用 表示。其他串称为非空串。任何串中所含字符的个数称为该串的长度(或串长)。空串的长度为 0。串中任意个连续的字符组成的子序列称为子串。主串是包含子串的串。两个串相等,当且仅当两个串值相等,即长度、位置都相等。空格也是串集合中的一个元素,多个空格组成空格串。4.设循环队列 Q 的定义中有 rear 和 size 两个域变量,其中,rear 指示队尾元素之
20、后的位置,size 表示队列的长度,如图所示(队列长度为 3,队头元素为 x)。设队列的存储空间容量为 M,则队头元素的位置为_。(分数:2.00)A.B.C.D. 解析:解析 设队列的队头指针为 front,front 指向队头元素。队列的存储空间容量为 M,说明队列中最多可以有 M 个元素;队列的长度为 len,说明当前队列中有 len 个元素。则有:Q.rear=(Q.front+Q.len-1)%MQ.front=(Q.rear-Q.len+1+M)%M5.已知某二叉树的先序遍历序列为 ABCD,中序遍历序列为 BADC,则该二叉树的后序遍历序列为_。ABDCA BCDBA CDBCA
21、 DBCDA(分数:2.00)A. B.C.D.解析:解析 本题中,先序序列为 ABCD,因此 A 是树根结点,中序序列为 BADC,因此 B 是左子树上的结点,C 和 D 是右子树上的结点,且 D 是 C 的左孩子。因此,该二叉树的后序遍历序列为 BDCA。6.对于任意一个结点数为 n(n0)的二叉树,其高度 h_。A一定大于 n B一定小于 nC一定小于 log2n D一定大于 log2n(分数:2.00)A.B.C.D. 解析:解析 具有 n 个结点的完全二叉树的深度为 log2n+1,其高度 h 大 1 于 log2n。7._最不适用于处理序列已经正序有序的情况。A冒泡排序 B快速排序
22、 C归并排序 D直接插入排序(分数:2.00)A.B. C.D.解析:解析 快速排序是对冒泡排序的一种改进。先通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后分别对这两部分记录继续进行排序,使得整个序列有序。但是,若初始记录序列按关键字有序或基本有序时,即每次划分都是将序列划分为某一半序列的元素为 0 的情况,此时快速排序将蜕化为冒泡排序,算法的时间复杂度为 O(n2)。8.以下关于顺序查找和二分查找的叙述中,正确的是_。A顺序查找方法只适用于采用顺序存储结构的查找表B顺序查找方法只适用于采用链表存储结构的查找表C二分查找只适用于采用顺序存储结构
23、的查找表D二分查找只适用于采用循环链表存储结构的查找表(分数:2.00)A.B.C. D.解析:解析 顺序查找,又称线性查找,顺序查找的过程是从线性表的一端开始,依次逐个与表中元素的关键字值进行比较,如果找到其关键字与给定值相等的元素,则查找成功;若表中所有元素的关键字与给定值比较都不成功,则查找失败。顺序查找的方法对于顺序存储和链式存储方式的查找表都适用。折半查找是一种采用顺序存储结构的线性表进行查找的方法,也称为二分查找。在进行折半查找之前,线性表中的数据元素必须按照关键字的值升序或降序排列。折半查找的过程是先将给定值与有序线性表中间位置上的元素的关键字进行比较,若两者相等,则查找成功;若
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 程序员 数据结构 算法 答案 解析 DOC
