欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】国家二级ACCESS机试选择题(数据结构与算法)模拟试卷16及答案解析.doc

    • 资源ID:1331240       资源大小:62.50KB        全文页数:10页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】国家二级ACCESS机试选择题(数据结构与算法)模拟试卷16及答案解析.doc

    1、国家二级 ACCESS 机试选择题(数据结构与算法)模拟试卷 16 及答案解析(总分:64.00,做题时间:90 分钟)一、选择题(总题数:32,分数:64.00)1.下列叙述中正确的是(分数:2.00)A.算法的时间复杂度与运行算法时特定的输入有关B.算法的时间复杂度与计算机的运行速度有关C.算法的时间复杂度与算法程序中的语句条数成正比D.算法的时间复杂度与算法程序编制者的水平有关2.下列各排序法中,最坏情况下的时间复杂度最低的是(分数:2.00)A.堆排序B.快速排序C.希尔排序D.冒泡排序3.设栈的存储空间为 S(1:50),初始状态为 top=51。现经过一系列正常的入栈与退栈操作后,

    2、top=50,则栈中的元素个数为(分数:2.00)A.1B.OC.50D.494.某二叉树共有 399 个结点,其中有 199 个度为 2 的结点,则该二叉树中的叶子结点数为(分数:2.00)A.不存在这样的二叉树B.200C.198D.1995.下列叙述中错误的是(分数:2.00)A.对于各种特定的输入,算法的时间复杂度是固定不变的B.算法的时间复杂度与使用的计算机系统无关C.算法的时间复杂度与使用的程序设计语言无关D.算法的时间复杂度与实现算法过程中的具体细节无关6.在长度为 n 的顺序表中查找一个元素,假设需要查找的元素一定在表中,并且元素出现在表中每个位置上的可能性是相同的,则在平均情

    3、况下需要比较的次数为(分数:2.00)A.(n+1)2B.nC.3n4D.n47.设非空二叉树的所有子树中,其左子树上的结点值均小于根结点值,而右子树上的结点值均不小于根结点值,则称该二叉树为排序二叉树。对排序二叉树的遍历结果为有序序列的是(分数:2.00)A.中序序列B.前序序列C.后序序列D.前序序列或后序序列8.循环队列的存储空间为 Q(1:50),初始状态为 front=rear=50。经过一系列正常的入队与退队操作后,front=rear=25,此后又插入一个元素,则循环队列中的元素个数为(分数:2.00)A.1,或 50 且产生上溢错误B.5 1C.26D.29.下列算法中均以比较

    4、作为基本运算,则平均情况与最坏情况下的时间复杂度相同的是(分数:2.00)A.在顺序存储的线性表中寻找最大项B.在顺序存储的线性表中进行顺序查找C.在顺序存储的有序表中进行对分查找D.在链式存储的有序表中进行查找10.在只有 2n 个结点的完全二叉树中,叶子结点个数为(分数:2.00)A.nB.n+1C.n-1D.n211.下列叙述中正确的是(分数:2.00)A.在栈中,栈顶指针的动态变化决定栈中元素的个数B.在循环队列中,队尾指针的动态变化决定队列的长度C.在循环链表中,头指针和链尾指针的动态变化决定链表的长度D.在线性链表中,头指针和链尾指针的动态变化决定链表的长度12.循环队列的存储空间

    5、为 O(1:40),初始状态为。front=rear=40。经过一系列正常的入队与退队操作后,front=rear=15,此后又退出一个元素,则循环队列中的元素个数为(分数:2.00)A.39,或 0 且产生下溢错误B.14C.40D.1513.某二又树的中序遍历序列为 CBADE,后序遍历序列为 CBADE,则前序遍历序列为(分数:2.00)A.EDABCB.CBEDAC.CBADED.EDCBA14.下列叙述中正确的是(分数:2.00)A.在循环队列中,队头指针和队尾指针的动态变化决定队列的长度B.在循环队列中,队尾指针的动态变化决定队列的长度C.在带链的队列中,队头指针与队尾指针的动态变

    6、化决定队列的长度D.在带链的栈中,栈顶指针的动态变化决定栈中元素的个数15.设栈的存储空间为 S(1:60),初始状态为 top=61。现经过一系列正常的入栈与退栈操作后,top 则栈中的元素个数为(分数:2.00)A.60B.59C.0D.116.设顺序表的长度为 n。下列排序方法中,最坏情况下比较次数小于 n(n1)2 的是(分数:2.00)A.堆排序B.快速排序C.简单插入排序D.冒泡排序17.在长度为 n 的顺序表中查找一个元素,假设需要查找的元素有一半的机会在表中,并且如果后表中,则出现在表中每个位置上的可能性是相同的。则在平均情况下需要比较的次数大约为(分数:2.00)A.(3+n

    7、)4B.nC.n2D.n418.设一棵树的度为 3,其中度为 3,2,1 的结点个数分别为 4,1,3。则该棵树中的叶子结点数为(分数:2.00)A.10B.11C.12D.不可能有这样的树19.设栈的存储空间为 S(1:50),初始状态为 top=0。现经过一系列正常的入栈与退栈操作后,top 则栈中的元素个数为(分数:2.00)A.不可能B.50C.0D.120.设顺序表的长度为 n。下列算法中,最坏情况下比较次数等于 n(n-1)2 的是(分数:2.00)A.快速排序B.堆排序C.顺序查找D.寻找最大项21.设表的长度为 n。下列算法中,最坏情况下比较次数小于 n 的是(分数:2.00)

    8、A.二分查找法B.堆排序C.快速排序D.顺序查找法22.下列叙述中错误的是(分数:2.00)A.循环链表是循环队列的存储结构B.二叉链表是二叉树的存储结构C.栈是线性结构D.循环队列是队列的存储结构23.设一棵树的度为 4,其中度为 4,3,2,1 的结点个数分别为 2,3,3,0。则该棵树中的叶子结数为(分数:2.00)A.16B.15C.17D.不可能有这样的树24.循环队列的存储空间为 Q(1:100),初始状态为 front=rear=100。经过一系列正常的入队与退队操作后,front=rear=99,则循环队列中的元素个数为(分数:2.00)A.0 或 100B.1C.2D.992

    9、5.设顺序表的长度为 n。下列算法中,最坏情况下比较次数小于 n 的是(分数:2.00)A.寻找最大项B.堆排序C.快速排序D.顺序查找法26.设栈的顺序存储空间为 S(1:m),初始状态为 top=m+1。现经过一系列正常的入栈与退栈操作后,top=0,则栈中的元素个数为(分数:2.00)A.不可能B.m+1C.1D.m27.某二叉树的后序遍历序列与中序遍历序列相同,均为 ABCDEF,则按层次输出(同一层从左到右)的序列为(分数:2.00)A.FEDCBAB.CBAFEDC.DEFCBAD.ABCDEF28.循环队列的存储空间为 Q(1:200),初始状态为 front=rear=200。

    10、经过一系列正常的入队与退队操作后,front=rear=1,则循环队列中的元素个数为(分数:2.00)A.0 或 200B.1C.2D.19929.设栈的顺序存储空间为 S(1:m),初始状态为 top=0。觋经过一系列正常的入栈与退栈操作后,top=m+1,则栈中的元素个数为(分数:2.00)A.不可能B.m+1C.0D.m30.下列排序法中,最坏情况下时间复杂度最小的是(分数:2.00)A.堆排序B.快速排序C.希尔排序D.冒泡排序31.某二叉树的前序遍历序列与中序遍历序列相同,均为 ABCDEF,则按层次输出(同一层从左到右)的序列为(分数:2.00)A.ABCDEFB.BCDEFAC.

    11、FEDCBAD.DEFABC32.下列叙述中正确的是(分数:2.00)A.对数据进行压缩存储会降低算法的空间复杂度B.算法的优化主要通过程序的编制技巧来实现C.算法的复杂度与问题的规模无关D.数值型算法只需考虑计算结果的可靠性国家二级 ACCESS 机试选择题(数据结构与算法)模拟试卷 16 答案解析(总分:64.00,做题时间:90 分钟)一、选择题(总题数:32,分数:64.00)1.下列叙述中正确的是(分数:2.00)A.算法的时间复杂度与运行算法时特定的输入有关 B.算法的时间复杂度与计算机的运行速度有关C.算法的时间复杂度与算法程序中的语句条数成正比D.算法的时间复杂度与算法程序编制

    12、者的水平有关解析:解析:算法的时间复杂度,是指执行算法所需要的计算工作量,算法的工作量用算法所执行的基本运行次数来度量,所以与运行算法时特定的输入有关,选项 A 正确。2.下列各排序法中,最坏情况下的时间复杂度最低的是(分数:2.00)A.堆排序 B.快速排序C.希尔排序D.冒泡排序解析:解析:堆排序法,最坏情况需要 O(nlog 2 n)次比较。相比以上几种“除希尔排序法外”,堆排序法的时间复杂度最小,故选项 A 正确。3.设栈的存储空间为 S(1:50),初始状态为 top=51。现经过一系列正常的入栈与退栈操作后,top=50,则栈中的元素个数为(分数:2.00)A.1 B.OC.50D

    13、.49解析:解析:栈的存储空间为 S(1:50),初始状态为 top=51。现经过一系列正常的入栈与退栈操作后,top=50,则栈中有 51-50=1 个元素,因此选项 A 正确。4.某二叉树共有 399 个结点,其中有 199 个度为 2 的结点,则该二叉树中的叶子结点数为(分数:2.00)A.不存在这样的二叉树B.200 C.198D.199解析:解析:在二叉树中,设叶子结点个数为 n 0 ,度为 2 的结点个数为 n 2 ,叶子结点的个数计算方法 n 0 =n 2 +1=199+1=200,所以选项 B 正确。5.下列叙述中错误的是(分数:2.00)A.对于各种特定的输入,算法的时间复杂

    14、度是固定不变的 B.算法的时间复杂度与使用的计算机系统无关C.算法的时间复杂度与使用的程序设计语言无关D.算法的时间复杂度与实现算法过程中的具体细节无关解析:解析:一般情况下,算法的基本操作重复执行的次数,是模块 n 的某一个函数 f(n)。因此,算法的时间复杂度记做 T(n)=O(f(n)。随着模块 n 的增大,算法执行的时间的增长率和 f(n)的增长率成正比,所以 f(n)越小,算法的时间复杂度越低,算法的效率越高。因此算法会随着输入数据的不同而有执行效率的不同,有时候会快点儿,有时候会慢点儿。因此选项 A 正确。6.在长度为 n 的顺序表中查找一个元素,假设需要查找的元素一定在表中,并且

    15、元素出现在表中每个位置上的可能性是相同的,则在平均情况下需要比较的次数为(分数:2.00)A.(n+1)2 B.nC.3n4D.n4解析:解析:在一个长度为 n 的线性表中顺序查找值为 x 的元素时,在等概率情况下查找成功时平均查找长度为(1+1)2,所以选项 A 正确。7.设非空二叉树的所有子树中,其左子树上的结点值均小于根结点值,而右子树上的结点值均不小于根结点值,则称该二叉树为排序二叉树。对排序二叉树的遍历结果为有序序列的是(分数:2.00)A.中序序列 B.前序序列C.后序序列D.前序序列或后序序列解析:解析:中序遍历的次序是先遍历左子树,再遍历根节点,最后遍历右子树。而左子树结点值根

    16、节点节点值右子树节点值,是有序序列,因此选项 A 正确。8.循环队列的存储空间为 Q(1:50),初始状态为 front=rear=50。经过一系列正常的入队与退队操作后,front=rear=25,此后又插入一个元素,则循环队列中的元素个数为(分数:2.00)A.1,或 50 且产生上溢错误 B.5 1C.26D.2解析:解析:循环队列初始状态 front=rear=50,经过一系列入队和出队操作后,结束状态还是front=rear=25,这说明入队元素个数和出队元素个数一样多。这样一来最后的元素个数就和原来的元素个数一样多,明显不是 0 就是 50,即要么队空(0 个元素),要么队满(50

    17、 个元素)。这时进行入队操作,如果是队空(0 个元素)的情况,此时元素个数为 1;如果是队满(50 个元素)的情况,就会产生上溢错误。9.下列算法中均以比较作为基本运算,则平均情况与最坏情况下的时间复杂度相同的是(分数:2.00)A.在顺序存储的线性表中寻找最大项 B.在顺序存储的线性表中进行顺序查找C.在顺序存储的有序表中进行对分查找D.在链式存储的有序表中进行查找解析:解析:最坏情况下的时间复杂度称为最坏时间复杂度。一般不特别说明,讨论的时间复杂度均是最坏情况下的时间复杂度。最坏情况下的时间复杂度是算法在任何输入实例上运行时间的上界,这就保证了算法的运行时间不会比任何情况更长。 平均时间复

    18、杂度是指所有可能的输入实例均以等概率出现的情况下,算法的期望运行时间。在输入不同的情况下算法的运行时间复杂度可能会发生变化。平均时间复杂度给出了算法的期望运行时间,有助于算法好坏的评价以及在不同算法之间比较时有一个统一标准。 在顺序存储的线性表中寻找最大项,其平均情况与最坏情况下的时间复杂度都是 n2。10.在只有 2n 个结点的完全二叉树中,叶子结点个数为(分数:2.00)A.n B.n+1C.n-1D.n2解析:解析:在具有 2n 个结点的完全二叉树中,叶子结点个数为:(2n+1)2 取整,其值等于 n。所以选项 A 正确。11.下列叙述中正确的是(分数:2.00)A.在栈中,栈顶指针的动

    19、态变化决定栈中元素的个数 B.在循环队列中,队尾指针的动态变化决定队列的长度C.在循环链表中,头指针和链尾指针的动态变化决定链表的长度D.在线性链表中,头指针和链尾指针的动态变化决定链表的长度解析:解析:栈是一种特殊的线性表,是一种只允许在表的一端进行插入或删除操作的线性表。表中允许进行插入、删除操作的一端称为栈顶;表的另一端称为栈底。栈顶的当前位置是动态的,对栈顶当前位置的标记称为栈顶指针。在栈中,栈顶指针动态反映了栈中元素的变化情况。所以选项 A 正确。12.循环队列的存储空间为 O(1:40),初始状态为。front=rear=40。经过一系列正常的入队与退队操作后,front=rear

    20、=15,此后又退出一个元素,则循环队列中的元素个数为(分数:2.00)A.39,或 0 且产生下溢错误 B.14C.40D.15解析:解析:循环队列初始状态 front=rear=40,经过一系列入队和出队操作后,结束状态还是front=rear=15,这说明入队元素个数和出队元素个数一样多。这样一来最后的元素个数就和原来的元素个数一样多,明显不是 0 就是 40,即要么队列为空(0 个元素),要么队列为满队列(40 个元素)。这时进行出队操作,如果是队列满(40 个元素)的情况,此时队列中的元素个数为 39,如果是队列空(0 个元素)的情况,此时就会产生下溢错误。因此选项 A 正确。13.某

    21、二又树的中序遍历序列为 CBADE,后序遍历序列为 CBADE,则前序遍历序列为(分数:2.00)A.EDABC B.CBEDAC.CBADED.EDCBA解析:解析:后序遍历次序是“左右根”,中序遍历次序是“左根右”。 由定义可知:后序遍历中最后一个就是树根结点,即 E 结点:在中序遍历中,根结点左边的是左子树集,右边的是右子树集,即CBAD 是根结点 E 的左子树集合。问题就会转化为:求后序遍历是 CBAD,中序遍历是 CBAD 的子树,方法同上。因为中序遍历中,D 结点右边没有结点了,所以 D 结点不包含右子树,否则就会被分为 2 个子问题 以下是这道题的详细推理过程:步骤 1:由 CB

    22、ADE 得出根结点为 E,由中序遍历可知CBADE,右子树为空;步骤 2:由 CBAD 得出左子树集合的根节点为 D,由中序可知CBAD,右子树为空;步骤 3:同理,二叉树更新后如下图所示。14.下列叙述中正确的是(分数:2.00)A.在循环队列中,队头指针和队尾指针的动态变化决定队列的长度 B.在循环队列中,队尾指针的动态变化决定队列的长度C.在带链的队列中,队头指针与队尾指针的动态变化决定队列的长度D.在带链的栈中,栈顶指针的动态变化决定栈中元素的个数解析:解析:循环队列是将顺序队列首尾相连形成的,随着插入元素或删除元素的进行,其队头指针及队尾指针是在不断变化的,有时可能会出现队头指针大于

    23、队尾指针的情况,也可能是队尾指针大于队头指针。循环队列中计算元素的个数公式为:(rear-front+queue_size)queue_size。所以选项 A 正确。15.设栈的存储空间为 S(1:60),初始状态为 top=61。现经过一系列正常的入栈与退栈操作后,top 则栈中的元素个数为(分数:2.00)A.60 B.59C.0D.1解析:解析:栈是向上增长的,每次压入一个元素,栈的 TOP 指针向上移动一位,即 top-1。当压入第一个元素时,TOP 指针指向 60+1-1=60;当压入第二个元素时,TOP 指针指向 60+1-2=59;以此类推,当压入第 N 个元素时,TOP 指针指

    24、向 60+1-N=1,则 N=60。所以选项 A 正确。16.设顺序表的长度为 n。下列排序方法中,最坏情况下比较次数小于 n(n1)2 的是(分数:2.00)A.堆排序 B.快速排序C.简单插入排序D.冒泡排序解析:解析:假设线性表的长度为 n,则在最坏情况下,冒泡排序需要经过 n2 遍的从前往后扫描和n2 遍的从后往前扫描,需要比较次数为 n(n-1)2。快速排序法的最坏情况比较次数也是 n(n-1)2。简单插入排序,无论是否最坏都需要 n(n-1)2 比较。堆排序,无论是否最坏都需要比较 O(nlog 2 n)次。17.在长度为 n 的顺序表中查找一个元素,假设需要查找的元素有一半的机会

    25、在表中,并且如果后表中,则出现在表中每个位置上的可能性是相同的。则在平均情况下需要比较的次数大约为(分数:2.00)A.(3+n)4 B.nC.n2D.n4解析:解析:在长度为 n 的顺序表中查找一个元素,最好的情况是目标在第一个,一次找到;最坏的情况是目标在最后一个,n 次找到。那么平均长度为:(1+2+n)n=(n(n+1)2)n=(n+1)2。本题需要查找的元素有一半的机会在表中,则在平均情况下需要比较的次数大约为(1+n)2+1)2=(3+n)4。18.设一棵树的度为 3,其中度为 3,2,1 的结点个数分别为 4,1,3。则该棵树中的叶子结点数为(分数:2.00)A.10 B.11C

    26、.12D.不可能有这样的树解析:解析:因为任一棵树中,结点总数:总分支数目+1,所以:n 0 +4+1+3=(n 0 *0+3*4+2*1+1*3)+1,计算结果 n 0 =10。其中,n 0 表示叶子结点。所以选项 A 正确。19.设栈的存储空间为 S(1:50),初始状态为 top=0。现经过一系列正常的入栈与退栈操作后,top 则栈中的元素个数为(分数:2.00)A.不可能 B.50C.0D.1解析:解析:栈是向上增长的,每次压入一个元素,栈的 TOP 指针向上移动一位,即 top-1。对于这个题目,由于 top 初始值等于 0,此时入栈一个元素,top 值减 1,即 0-1=-1,发生

    27、下溢错误。20.设顺序表的长度为 n。下列算法中,最坏情况下比较次数等于 n(n-1)2 的是(分数:2.00)A.快速排序 B.堆排序C.顺序查找D.寻找最大项解析:解析:假设线性表的长度为 n,则在最坏情况下,快速排序法的最坏情况比较次数也是 n(n-1)2;堆排序,无论是否最坏都是比较 O(nlog 2 n)次,所以选项 A 正确。21.设表的长度为 n。下列算法中,最坏情况下比较次数小于 n 的是(分数:2.00)A.二分查找法 B.堆排序C.快速排序D.顺序查找法解析:解析:二分法查找只适用于顺序存储的有序表。二分查找的基本方法是:将被查元素 x 与线性表的中间项进行比较,若中间项的

    28、值等于 x,则说明查到;若小于中间项的值则在线性表的前半部分;以相同的方法进行查找;若大于中间项的值,则在线性表的后半部分以相同的方法进行查找。在最坏情况下,二分查找需要比较 log 2 n 次。所以选项 A 正确。22.下列叙述中错误的是(分数:2.00)A.循环链表是循环队列的存储结构 B.二叉链表是二叉树的存储结构C.栈是线性结构D.循环队列是队列的存储结构解析:解析:循环队列属于逻辑结构,其实质还是顺序存储,只是使用指针进行首尾的联结,其实现的存储方式可分为:分散的链表和连续的线性表,与其逻辑结构实现功能无关。所以选项 A 正确。23.设一棵树的度为 4,其中度为 4,3,2,1 的结

    29、点个数分别为 2,3,3,0。则该棵树中的叶子结数为(分数:2.00)A.16 B.15C.17D.不可能有这样的树解析:解析:因为任一棵树中,结点总数=总分支数目+1,所以:n 0 +2+3+3+0=(n 0 *1+4*2+3*3+2*3+1*0)+1。计算得出 n 0 =16。其中,n 0 表示叶子结点,所以选项 A 正确。24.循环队列的存储空间为 Q(1:100),初始状态为 front=rear=100。经过一系列正常的入队与退队操作后,front=rear=99,则循环队列中的元素个数为(分数:2.00)A.0 或 100 B.1C.2D.99解析:解析:循环队列中,由于入队时尾指

    30、针 rear 向前追赶头指针 front;出队时头指针 front 向前追赶尾指针 rear,造成队空和队满时头尾指针均相等。因此,无法通过条件 front=rear 来判别队列是“空”还是“满”。对于这个题目来说,经过一系列正常的入队与退队操作后,front=rear=99,此时,要么队列为空(元素个数为 0),要么队列为满(元素个数为 100),因此选项 A 正确。25.设顺序表的长度为 n。下列算法中,最坏情况下比较次数小于 n 的是(分数:2.00)A.寻找最大项 B.堆排序C.快速排序D.顺序查找法解析:解析:如果顺序表是线性存储的(不包括线性的链式表),那么元素要不就是从大到小,要

    31、不就是小到大的顺序,假设第一个数就是最大值,那么需要比较 1 次,n-1 应该是最坏情况下要比较的次数,所以选项 A 正确。26.设栈的顺序存储空间为 S(1:m),初始状态为 top=m+1。现经过一系列正常的入栈与退栈操作后,top=0,则栈中的元素个数为(分数:2.00)A.不可能 B.m+1C.1D.m解析:解析:栈是向上增长的,每次压入一个元素,栈的 TOP 指针向上移动一位,即 top-1。对于这个题目,由于 top 初始值等于 m+1,此时入栈一个元素,top 值减 1,即 m+1-1=m,依次类推,当栈满时,top的值等于 1,不会出现 top 的值等于 0。所以选项 A 正确

    32、。27.某二叉树的后序遍历序列与中序遍历序列相同,均为 ABCDEF,则按层次输出(同一层从左到右)的序列为(分数:2.00)A.FEDCBA B.CBAFEDC.DEFCBAD.ABCDEF解析:解析:后序遍历次序:左右根;中序遍历次序:左根右。 由定义可知:后序遍历中最后一个是树的根结点,即 F 结点;在中序遍历中,根结点左边的是左子树集,右边的是右子树集,即 ABCDE 是根结点 F 的左子树集合。问题就会转化为:求后序遍历是 ABCDE,中序遍历是 ABCDE 的子树。方法同上,因为中序遍历中,E 结点右边没有结点了,所以 E 结点不包含右子树,否则就会被分为 2 个子问题。以下是这道

    33、题的详细推理过程:步骤 l:由 ABCDEF 得出根结点为 F,由中序遍历可知:ABCDEF,右子树为空;步骤 2:由 ABCDE 得出左子树集合的根节点为 E,由中序可知:ABCDE,右子树为空;步骤 3:同理,二叉树更新后如下。28.循环队列的存储空间为 Q(1:200),初始状态为 front=rear=200。经过一系列正常的入队与退队操作后,front=rear=1,则循环队列中的元素个数为(分数:2.00)A.0 或 200 B.1C.2D.199解析:解析:循环队列中,由于入队时尾指针 rear 向前追赶头指针 front;出队时头指针 front 向前追赶尾指针 rear,造成

    34、队空和队满时头尾指针均相等。因此,无法通过条件 front=rear 来判别队列是“空”还是“满”。对于这个题目来说,经过一系列正常的入队与退队操作后,front=rear=1,此时,要么队列为空(元素个数为 0),要么队列为满(元素个数为 200)。所以选项 A 正确。29.设栈的顺序存储空间为 S(1:m),初始状态为 top=0。觋经过一系列正常的入栈与退栈操作后,top=m+1,则栈中的元素个数为(分数:2.00)A.不可能 B.m+1C.0D.m解析:解析:栈是向上增长的,每次压入一个元素,栈的 TOP 指针向上移动一位,即 top-1。对于这个题目,由于 top 初始值等于 0,此

    35、时入栈一个元素,top 值减 1,即 0-1=-1,出现下溢错误,所以选项 A 正确。30.下列排序法中,最坏情况下时间复杂度最小的是(分数:2.00)A.堆排序 B.快速排序C.希尔排序D.冒泡排序解析:解析:假设线性表的长度为 n,则在最坏情况下,冒泡排序需要经过 n2 遍的从前往后扫描和n2 遍的从后往前扫描,需要比较次数为 n(n-1)2。快速排序法的最坏情况比较次数也是 n(n-1)2。简单插入排序,无论是否最坏都需要 n(n-1)2 比较。堆排序,无论是否最坏情况都是比较 O(nlog 2 n)次。所以选项 A 正确。31.某二叉树的前序遍历序列与中序遍历序列相同,均为 ABCDE

    36、F,则按层次输出(同一层从左到右)的序列为(分数:2.00)A.ABCDEF B.BCDEFAC.FEDCBAD.DEFABC解析:解析:前序遍历次序:根左右;中序遍历次序:左根右。 由定义可以知道:前序遍历中第一个就是树根结点,即 A 结点;在中序遍历中,根结点左边的是芹子树集,右边的是右子树集,即 BCDEF 是根结点 A 的右子树集合。问题就会转化为:求前序遍历是 BCDEF,中序遍历是 BCDEF 的子树,方法同上。详细推理过程:步骤 1:由 ABCDEF 得出根结点为 A,由中序遍历可知:左子树为空,ABCDE F;步骤2:由BCDEF 得出右子树集合的根节点为 B,由中序可知:左子树为空,BCDEF;步骤 3:同理,二叉树更新后如下。32.下列叙述中正确的是(分数:2.00)A.对数据进行压缩存储会降低算法的空间复杂度 B.算法的优化主要通过程序的编制技巧来实现C.算法的复杂度与问题的规模无关D.数值型算法只需考虑计算结果的可靠性解析:解析:算法的空间复杂度是指执行这个算法所需要的内存空间,包括 3 个部分:输入数据所占的存储空间;程序本身所占的存储空间:算法执行过程中所需要的额外空间。为了降低算法的空间复杂度,主要应减少输入数据所占的存储空间以及额外空间,通常采用压缩存储技术,A 选项正确。


    注意事项

    本文(【计算机类职业资格】国家二级ACCESS机试选择题(数据结构与算法)模拟试卷16及答案解析.doc)为本站会员(deputyduring120)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开