国家二级MS Office高级应用机试(数据结构与算法)模拟试卷16
选择题
1.下列叙述中正确的是( )。(D)
A. 算法就是程序
B. 设计算法时只需要考虑数据结构的设计
C. 设计算法时只需要考虑结果的可靠性
D. 以上3种说法都不对
解析:算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以A选项错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
2.算法的有穷性是指( )。(A)
A. 算法程序的运行时间是有限的
B. 算法程序所处理的数据量是有限的
C. 算法程序的长度是有限的
D. 算法只能被有限的用户使用
解析:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。
3.算法的空间复杂度是指( )。(A)
A. 算法在执行过程中所需要的计算机存储空间
B. 算法所处理的数据量
C. 算法程序中的语句或指令条数
D. 算法在执行过程中所需要的临时工作单元数
解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间,所以选择A选项。
4.下列叙述中正确的是( )。(B)
A. 有一个以上根节点的数据结构不一定是非线性结构
B. 只有一个根节点的数据结构不一定是线性结构
C. 循环链表是非线性结构
D. 双向链表是非线性结构
解析:线性结构应满足:有且只有一个根节点;每个节点最多有一个前件,也最多有一个后件,所以B选项正确。有一个以上根节点的数据结构一定是非线性结构,所以A选项错误。循环链表和双向链表都是线性结构的数据结构。
5.下列叙述中正确的是( )。(A)
A. 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B. 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C. 顺序存储结构能存储有序表,链式存储结构不能存储有序表
D. 链式存储结构比顺序存储结构节省存储空间
解析:链式存储结构既可以针对线性结构,也可以针对非线性结构,所以B选项与C选项错误。链式存储结构中的每个节点都由数据域与指针域两部分组成,增加了存储空间,所以D选项错误。
6.下列选项中,( )不是一般算法应该有的特征。(A)
A. 无穷性
B. 可行性
C. 确定性
D. 有穷性
解析:作为一个算法,一般应具有以下几个基本特征:可行性、确定性、有穷性、拥有足够的情报。本题答案为A选项。
7.下列叙述中正确的是( )。(D)
A. 栈是“先进先出”的线性表
B. 队列是“先进后出”的线性表
C. 循环队列是非线性结构
D. 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
解析:栈是先进后出的线性表,所以A选项错误;队列是先进先出的线性表,所以B选项错误;循环队列是线性结构的线性表,所以C选项错误。
8.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。(B)
A. 12345ABCDE
B. EDCBA54321
C. ABCDE12345
D. 54321EDCBA
解析:栈按先进后出的原则组织数据,入栈最早的最后出栈,所以选择B选项。
9.下列关于栈的叙述中正确的是( )。(C)
A. 在栈中只能插入数据,不能删除数据
B. 在栈中只能删除数据,不能插入数据
C. 栈是先进后出(FILO)的线性表
D. 栈是先进先出(FIFO)的线性表
解析:栈是限定在一端进行插入与删除的线性表。栈是按照先进后出的或后进先出的原则组织数据的,因此,栈也被称为先进后出表或后进先出表。本题答案是C选项。
10.下列叙述中正确的是( )。(C)
A. 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B. 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C. 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D. 以上说法都不正确
解析:栈是先进后出的数据结构,在整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来操作,所以选择C选项。
11.下列与队列结构有关联的是( )。(D)
A. 函数的递归调用
B. 数组元素的引用
C. 多重循环的执行
D. 先到先服务的作业调度
解析:队列的修改是依先进先出的原则进行的,故D选项正确。
12.下列数据结构中,属于非线性结构的是( )。(C)
A. 循环队列
B. 带链队列
C. 二叉树
D. 带链栈
解析:树是简单的非线性结构,所以二叉树作为树的一种,也是一种非线性结构。
13.下列关于循环队列的叙述中正确的是( )。(D)
A. 队头指针是固定不变的
B. 队头指针一定大于队尾指针
C. 队头指针一定小于队尾指针
D. 队头指针既可以大于队尾指针,也可以小于队尾指针
解析:循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构,所以队头指针有时可能大于队尾指针,有时也可能小于队尾指针。
14.下列叙述中正确的是( )。(D)
A. 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B. 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C. 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D. 循环队列中元素的个数是由队头指针和队尾指针共同决定的
解析:循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A选项错误;在循环队列中只需要队头与队尾两个指针来共同反映队列中元素的动态变化情况,所以B选项与C选项错误。
15.下列叙述中正确的是( )。(B)
A. 循环队列是队列的一种链式存储结构
B. 循环队列是队列的一种顺序存储结构
C. 循环队列是非线性结构
D. 循环队列是一种逻辑结构
解析:在实际应用中,队列的顺序存储结构一般采用循环队列的形式。
16.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与出队运算后,front=15,rear=15,则循环队列中的元素个数为( )。(D)
A. 15
B. 16
C. 20
D. 0或35
解析:在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。在循环队列中进行出队、入队操作时,头、尾指针仍要加1,朝前移动,只不过当头、尾指针指向向量上界时,其加1操作的结果是指向向量的下界0。由于入队时队尾指针向前追赶队头指针,出队时队头指针向前追赶队尾指针,故队空和队满时,头尾指针均相等,故答案为D选项。
17.下列关于线性链表的叙述中正确的是( )。(C)
A. 各数据节点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B. 各
本文档预览:3600字符,共5101字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载