《计算机二级公共基础试题》由会员分享,可在线阅读,更多相关《计算机二级公共基础试题(14页珍藏版)》请在金锄头文库上搜索。
1、第一章 数据结构与算法一、选择题1.下列叙述中正确的是A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量 D.算法的时间复杂度与空间复杂度一定相关2.如果进栈序列为 e1,e2,e3,e4,则可能的出栈序列是A. e3,e1,e4,e2 B. e2,e4,e3,e1 C. e3,e4,e1,e2 D.任意顺序3.下列对队列的叙述正确的是A.队列属于非线性表B.队列按”先进后出”原则组织数据C.队列在队尾删除数据D.队列按”先进先出”原则组织数据4.对下列二叉数:进行前序遍历的结果为A.DYBEAFCZX B.YDEBFZXCA C.ABD
2、YECFXZ D.ABCDEFXYZ5.某二叉树中有 n 个度为 2 的节点,则该二叉树中的叶子节点的个数为A.n+1 B.n-1 C.2n D.n/26.一棵二叉树中共有 70 个叶子节点与 80 个度为 1 的节点,则该二叉树中的总节点数为A.219 B.221 C.229 D.2317.若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是A.bdgcefha B.gdbecfha C.bdgaechf D.gdbehfca8.具有 3 个结点的二叉树有A.2 种形态 B.4 种形态 C.7 种形态 D.5 种形态9.栈和队列
3、的共同特点是A.都是先进先出 B.都是先进后出 C.只允许在端点处插入和删除元素 D.没有共同点10.线性表 L=(a1,a2,a3,ai,.an),下列说法正确的是A.每个元素都有一个直接前件和直接后件B.线性表中至少有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小ABCDEFXYZD.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件11.数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算以及A.数据的存储结构 B.计算方法 C.数据映像 D.逻辑存储12.对长度为 n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为A
4、. B.n/2 C.n D.n+12log n13.已知二叉树的后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是A.acbed B.decab C.deabc D.cedba14.在深度为 5 的满二叉树中,叶子节点的个数为A.32 B.31 C.16 D.1514.对长度为 n 的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2 的排序方法是A.快速排序 B.冒泡排序 C.直接插入排序 D.堆排序15.算法的有穷性是指A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的有限的用户使用16.树是节点的集
5、合,它的根节点数目是A.有且只有 1 B.1 或多于 1 C.0 或 1 D.至少 217.下列叙述中正确的是A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的18.下列排序方法中,最坏情况下比较次数最少的是A.冒泡排序 B.简单选择排序 C.直接插入排序 D.堆排序19.下列数据结构中,属于非线性结构的是A.循环队列 B.带链队列 C.二叉树 D.带链栈20.对于循环队列,下列叙述正确的是A.队头指针
6、是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针21.下列叙述中正确的是A.对长度为 n 的有序链表进行查找,最坏情况下需要比较次数为 nB.对长度为 n 的有序链表进行查找,最坏情况下需要比较次数为 n/2C.对长度为 n 的有序链表进行查找,最坏情况下需要比较次数为2log nD.对长度为 n 的有序链表进行查找,最坏情况下需要比较次数为 n2log n22.下列叙述中正确的是A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构
7、所需要的存储空间一般要少于顺序存储结构D.上述三种说法都不对23.下列叙述中正确的是A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.上述三种说法都不对24.下列叙述中正确的是A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构C.循环链表是非线性结构D.双向链表是非线性结构25.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为A.3 B.4 C.6 D.726.下列叙述中正确的是A.算法就是程序 B.设
8、计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对27.下列关于线性链表的叙述中,正确的是A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上三种说法都不对28.下列关于二叉树的叙述中,正确的是A.叶子结点总是比度为 2 的结点少一个B.叶子结点总是比度为 2 的结点多一个C.叶子结点数总是为度为 2 的结点数的两倍D.度为 2 的结点数是度为 1 的结点数的两倍29.某系统总体结构图如下图所示:该系统总体结构图的深度
9、是A.7 B.6 C.3 D.230.设树 T 的度为 4,其中度为 1,2,3,4 的结点个数分别为 4,2,1,1.则 T 中的叶子结点个数为XY 系统功能 1功能 2功能 3功能 2.1功能 2.2功能 2.3A.8 B.7 C.6 D.5二、填空题1.在一个容量为 15 的循环队列中,若头指针 front=6,尾指针 rear=9,则该循环队列中共有 个元素2.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为3.数据结构分为逻辑结构与存储结构,线性链表属于 4.数据的逻辑结构有线性结构和 两大类5.设一棵完全二叉树共有 700 个结点,则在二叉树
10、中有 个叶子结点6.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、 和选择排序等7.数据结构分为线性结构和非线性结构,带链的队列属于 8.长度为 n 的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为 9.一个队列的初始状态为空,现将元素 A,B,C,D,E,F,5,4,3,2,1 依次入队,然后再依次退队,则元素退队的顺序为 10.设某循环队列的容量为 50,如果头指针 front=45,尾指针 rear=10,该循环队列中共有 个元素11.一棵二叉树有 10 个度为 1 的结点,7 个度为 2 的结点,则该二叉树共有 个结点1
11、2.一个栈的初始状态为空,首先将元素 5,4,3,2,1 依次入栈,然后退栈一次,再将元素 A,B,C,D 依次入栈,之后将所有元素全部退栈,则所有元素退栈的顺序为 13.在长度为 n 的线性表中,寻找最大项至少需要比较 次14.在深度为 7 的满二叉树中,度为 2 的结点个数为 15.假设用一个长度为 50 的数组(下标从 0 到 49)作为栈的存储空间,栈底指针 bottom 指向栈底元素,栈顶指针 top 指向栈顶元素,如果 bottom=49,top=30,则栈中具有 个元素第二章 程序设计基础一、选择题1.结构化程序设计主要强调的是A.程序的规模B.程序的易读性C.程序的执行效率D.
12、程序的可移植性2.对建立良好的程序设计风格,下面描述强调的是A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无3.在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送A.调用语句 B.命令 C.口令 D.消息4.信息隐蔽的概念与下述那一种概念直接相关A.软件结构定义 B.模块独立性 C.模块类型划分 D.模块耦合度5.下面对对象概念描述错误的是A.任何对象都必须具有继承性B.对象是属性与方法的封装体C.对象间的通信靠消息传递D.操作时对象的动态属性6.以下不属于对象的基本特点的是A.分类性 B.多态性 C.继承性 D.封装性对
13、象具有的特点:标识唯一性、分类性、多态性、封装性、模块独立性好7.在设计程序时,应采纳的原则之一是A.不限制 goto 语句的使用B.减少或取消注释行C.程序越短越好D.程序结构应有助于读者理解8.下列叙述中正确的是A.程序执行的效率与数据的存储结构有关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上三种说法都不正确9.以下不是面向对象思想中的主要特征的是A.多态 B.继承 C.封装 D.类比10.下列叙述中,不符合良好程序设计风格要求的是A.程序的效率第一,清晰第二B.程序的可读性好C.程序中要有必要的注释D.输入数据前要有提示11.下面关于对象概念的
14、描述中,错误的是A.对象就是 C 语言中的结构体变量B.对象代表着正在创建的系统中的一个实体C.对象是一个状态和操作(或方法)的封装体D.对象之间的信息传递是通过消息进行的12.下列选项中不符合良好程序设计风格的是A.源程序要文档化B.数据说明的次序要规范化C.避免滥用 goto 语句D.模块设计要保证高耦合、高内聚13.下列选项不属于结构化程序设计方法的是A.自顶向下 B.逐步求精 C.模块化 D.多态性14.下列叙述中正确的是A.在面向对象的程序设计中,各个对象之间具有密切的联系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上述三种说法都不对15.在结构化程序设计中,模块划分的原则是A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度16.在面向对象方法中,实现信息隐蔽是依靠A.对象的继承 B.对象的多态 C.对象的封装 D.对象的分类17.支持子程序调用的数据结构是A.栈 B.树 C.队列 D.二叉树18.面向对象方法中,继承是指A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作