1、计算机二级( VF)数据结构与算法章节练习试卷 1及答案与解析 1 分析算法的目的是 _。 ( A)找出数据结构的合理性 ( B)研究算法中的输入和输出的关系 ( C)分析算法的效率以求改进 ( D)分析算法的易懂性和文档 2 计算机算法指的是 _,它必须具备输入、输出,可执行性、确定性和有穷性。 ( A)计算方法 ( B)排序方法 ( C)解决问题的有限运算序列 ( D)调度方法 3 下列关于数据结构的叙述中,正确的是 _。 ( A)实际应用中,队列的顺序存储结构一般采用循 环队列的形式 ( B)递推算法结构程序一般比递归算法结构程序更精练 ( C)树是一种线性结构 ( D)用一维数组存储二
2、叉树,总是以先序遍历的顺序存储各结点 4 在算法设计基本方法中, _是从初始条件出发,逐次推出所需求的结果。 ( A)递推 ( B)递归 ( C)列举法 ( D)归纳法 5 设计一个 “判别在表达式中左、右括号是否配对出现 ”的算法,采用 _数据结构最佳。 ( A)线性表的顺序存储结构 ( B)栈 ( C)队列 ( D)线性表的链式存储结构 6 一个队列的入列序号是 1, 2, 3, 4,则队列的输出系列是 _。 ( A) 4, 3, 2, 1 ( B) 1, 2, 3, 4 ( C) 1, 4, 3, 2 ( D) 3, 2, 4, 1 7 用数组 A0m -1存放循环队列的元素值,若其头尾
3、指针分别为 front和 rear,则循环队列中当前元素的个数为 _。 ( A) (rear-front+re)mod m ( B) (rear-front+m+1)mod m ( C) (rear-front+m-1)mod m ( D) (rear-front-m-1)mod m 8 链栈与顺序栈相比, 有一个比较明显的优点是 _。 ( A)插入操作更加方便 ( B)通常不会出现栈满情况 ( C)不会出现栈空的情况 ( D)删除操作更加方便 9 如果以链表为栈的存储结构,则出栈操作是 _。 ( A)必须判别栈是否为满 ( B)必须判别栈是否为空 ( C)判别栈元素的类型 ( D)对栈不作任
4、何判别 10 以下叙述正确的是 _。 ( A)线性表的线性存储结构优于链表存储结构 ( B)在树形结构中,树根结点没有前驱结点 ( C)栈的操作方式是先进先出 ( D)队列的操作方式是先进后 出 11 设栈 S和队列 Q的初始状态为空,元素 e1, e2, e3, e4, e5, e6依次通过栈S,一个元素出栈后即进入栈队列 Q,若 6个元素出队的顺序是 e2, e4, e3, e6,e5, e1,则栈 S的容量至少应该是 _。 ( A) 6 ( B) 4 ( C) 3 ( D) 2 12 下面关于数据结构的叙述中,正确的是 _。 ( A)顺序存储方式的优点是存储密度大,且插入、删除运算效率高
5、 ( B)链表中的每一个结点都包含恰好一个指针 ( C)包含 n个结点的二叉排序树的最大检索长度为 log2n ( D)将一 棵树转换为二叉树后,根结点没有右子树 13 下面关于二叉树的叙述中正确的是 _。 ( A)度为 2的树称为二叉树 ( B)二叉树的度肯定是 2 ( C)二叉树中所有结点的度都是 2 ( D)由 3个结点可以构造出 5种不同的二叉树 14 若对一棵二叉树进行中序遍历得到的结果是 (B, D, A, G, H, E, C, F),进行后序遍历的结果是 DBHGEFCA,那么这棵二叉树进行前序遍历得到的结果是_。 ( A) (A, B, D, C, E, G, H, F) (
6、 B) (A, B, D, C, E, H, G, F) ( C) (D, B, A, C, E, G, H, F) ( D)无法确定 15 按照二叉树的定义,深度为 5的二叉树至多有 _个结点。 ( A) 16 ( B) 32 ( C) 10 ( D) 31 16 完全二叉树中,若一个结点是叶结点,则它没有 _。 ( A)左子结点 ( B)右子结点 ( C)左子结点和左子结点 ( D)左子结点、右子结点和兄弟结点 17 若完全二叉树共有 n个结点,且从根结点开始,按层序 (每层从左到右 )用正整数 0, 1, 2, , n-1,从小 到大对结点编号,则对于编号为 k的结点,错误的是_。 (
7、A)若 k 0,则该结点的父结点编号为 k/2(表示取整 ) ( B)若 2k n-1,则编号为 k的结点无右子树,但可能有左子树 ( C)若 2k+1 =n-1,则编号为 k的结点的右子结点编号为 2k+1 ( D)若 k=0,则该结点肯定没有父结点 18 二分法查找 _存储结构。 ( A)只适合于链式 ( B)只适合于顺序 ( C)既适合于顺序也适合于链式 ( D)既不适合于顺序也不适合于链式 19 对线性表进行二分法检索。其前提条 件是 _。 ( A)线性表以顺序方式存储,并且按关键码值排好序 ( B)线性表以顺序方式存储,并且按关键码的检索频率排好序 ( C)线性表以链接方式存储,并且
8、按关键码值排好序 ( D)线性表以链接方式存储,并且按关键码的检索频率排好序 20 采用顺序查找方法查找长度为 n的线性表时,每个元素的平均查找长度为_。 ( A) n ( B) n/2 ( C) (n+1)/2 ( D) (n-1)/2 21 采用二分查找方法查找长度为 n的线性表时,每个元素的平均查找长度为_。 ( A) O(log2n) ( B) O(n) ( C) O(nlog2n) ( D) O(n2) 22 对关键字序列 (11, 12, 13, 14, 15)采用对半查找算法查找关键字 11,则关键字之间比较次数为 _。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 2
9、3 在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是_。 ( A)希尔排序 ( B)冒泡排序 ( C)插入排序 ( D)选择排序 24 设有 1000个无序的元素,希望用最快的速度挑选出其中前 10个最大的元素,最好选用 _排序法。 ( A)希尔排序 ( B)冒泡排序 ( C)堆排序 ( D)快速排序 25 下述几种排序方法中, _是最简单的交换类排序方法。 ( A)冒泡排序 ( B)插入排序 ( C)快速排序 ( D)选择排序 26 对含有 n个关键词的序列进行冒泡法排序,最少的比较次数是 _。 ( A) n ( B) n-1 ( C) n/2 ( D) n-2 27 对给定的
10、整数序列 (541, 132, 984, 746, 518, 181, 946, 314, 205, 827)进行从小到大的排序时,采用快速 排序 (以中间元素 518为基准 )的第一趟扫描结果是_。 ( A) (181, 132, 314, 205, 541, 518, 946, 827, 746, 984) ( B) (541, 132, 827, 746, 518, 181, 946, 314, 205, 984) ( C) (205, 132, 314, 181, 518, 746, 946, 984, 541, 827) ( D) (541, 132, 984, 746, 827,
11、181, 946, 314, 205, 518) 28 一组记录的排序码为 (46, 79, 56, 38, 40, 84),则利用堆排序 的方法建立的初始堆为 _。 ( A) 79, 46, 56, 38, 40, 84 ( B) 84, 79, 56, 38, 40, 46 ( C) 84, 79, 56, 46, 40, 38 ( D) 84, 56, 79, 40, 46, 38 计算机二级( VF)数据结构与算法章节练习试卷 1答案与解析 1 【正确答案】 C 【知识模块】 数据结构与算法 2 【正确答案】 C 【知识模块】 数据结构与算法 3 【正确答案】 A 【知识模块】 数据结
12、构与算法 4 【正确答案】 A 【知识模块】 数据结构 与算法 5 【正确答案】 B 【知识模块】 数据结构与算法 6 【正确答案】 B 【知识模块】 数据结构与算法 7 【正确答案】 A 【知识模块】 数据结构与算法 8 【正确答案】 B 【知识模块】 数据结构与算法 9 【正确答案】 B 【知识模块】 数据结构与算法 10 【正确答案】 B 【知识模块】 数据结构与算法 11 【正确答案】 C 【知识模块】 数据结构与算法 12 【正确答案】 D 【知识模块】 数据结构与算法 13 【正确答案】 D 【知识模块】 数据结构与算法 14 【正确答案】 A 【知识模块】 数据结构与算法 15
13、【正确答案】 D 【知识模块】 数据结构与算法 16 【正确答案】 C 【知识模块】 数据结构与算法 17 【正确答案】 B 【知识模块】 数据结构与算法 18 【正确答案】 B 【知识模块】 数据结构与算法 19 【正确答案】 A 【知识模块】 数据结构与算法 20 【正确答案】 C 【知识模块】 数据结构与算法 21 【正确答案】 A 【知识模块】 数据结构与算法 22 【正确答案】 B 【知识模块】 数据结构与算法 23 【正确答案】 D 【知识模块】 数据结构与算法 24 【正确答案】 C 【知识模块】 数据结构与算法 25 【正确答案】 A 【知识模块】 数据结构与算法 26 【正确答案】 B 【知识模块】 数据结构与算法 27 【正确答案】 C 【知识模块】 数据结构与算法 28 【正确答案】 B 【知识模块】 数据结构与算法