公共基础习题.docx
《公共基础习题.docx》由会员分享,可在线阅读,更多相关《公共基础习题.docx(29页珍藏版)》请在冰点文库上搜索。
公共基础习题
算法与数据结构
在计算机中,算法是指______。
A、查询方法
B、加工方法
C、解题方案的准确而完整的描述
D、排序方法
算法的空间复杂度是指______。
A、算法程序的长度
B、算法程序中的指令条数
C、算法程序所占的存储空间
D、算法执行过程中所需要的存储空间
算法一般都可以用哪几种控制结构组合而成______。
A、循环、分支、递归
B、顺序、循环、嵌套
C、循环、递归、选择
D、顺序、选择、循环
算法的时间复杂度是指______。
A、执行算法程序所需要的时间
B、算法程序的长度
C、算法执行过程中所需要的基本运算次数
D、算法程序中的指令条数
数据结构中,与所使用的计算机无关的是数据的______。
A、存储结构
B、物理结构
C、逻辑结构
D、物理和存储结构
数据的存储结构是指______。
A、数据所占的存储空间量
B、数据的逻辑结构在计算机中的表示
C、数据在计算机中的顺序存储方式
D、存储在外存中的数据
1、下面叙述正确的是______。
A、算法的执行效率与数据的存储结构无关
B、算法的空间复杂度是指算法程序中指令(或语句)的条数
C、算法的有穷性是指算法必须能在执行有限个步骤之后终止
D、以上三种描述都不对
下列叙述中正确的是______。
A、一个逻辑数据结构只能有一种存储结构
B、数据的逻辑结构属于线性结构,存储结构属于非线性结构
C、一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D、一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
2、以下数据结构中不属于线性数据结构的是______。
A、队列
B、线性表
C、二叉树
D、栈
下列关于栈的叙述中正确的是______。
A、在栈中只能插入数据
B、在栈中只能删除数据
C、栈是先进先出的线性表
D、栈是先进后出的线性表
下列关于栈的描述正确的是______。
A、在栈中只能插入元素而不能删除元素
B、在栈中只能删除元素而不能插入元素
C、栈是特殊的线性表,只能在一端插入或删除元素
D、栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素
按照"后进先出"原则组织数据的数据结构是______。
A、队列
B、栈
C、双向链表
D、二叉树
下列关于栈的描述中错误的是______。
A、栈是先进后出的线性表
B、栈只能顺序存储
C、栈具有记忆作用
D、对栈的插入与删除操作中,不需要改变栈底指针
下列数据结构中,能用二分法进行查找的是______。
A、顺序存储的有序线性表
B、线性链表
C、二叉链表
D、有序线性链表
下列描述中正确的是______。
A、线性链表是线性表的链式存储结构
B、栈与队列是非线性结构
C、双向链表是非线性结构
D、只有根结点的二叉树是线性结构
下列关于队列的叙述中正确的是______。
A、在队列中只能插入数据
B、在队列中只能删除数据
C、队列是先进先出的线性表
D、队列是先进后出的线性表
下列叙述中正确的是______。
A、线性表是线性结构
B、栈与队列是非线性结构
C、线性链表是非线性结构
D、二叉树是线性结构
线性表的顺序存储结构和线性表的链式存储结构分别是______。
A、顺序存取的存储结构、顺序存取的存储结构
B、随机存取的存储结构、顺序存取的存储结构
C、随机存取的存储结构、随机存取的存储结构
D、任意存取的存储结构、任意存取的存储结构
算法分析的目的是______。
A、找出数据结构的合理性
B、找出算法中输入和输出之间的关系
C、分析算法的易懂性和可靠性
D、分析算法的效率以求改进
3、在一棵二叉树上第5层的结点数最多是______。
A、8
B、16
C、32
D、15
在深度为5的满二叉树中,叶子结点的个数为______。
A、32
B、31
C、16
D、15
在深度为7的满二叉树中,叶子结点的个数为______。
A、32
B、31
C、64
D、63
设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______。
A、349
B、350
C、255
D、351
对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。
A、N+1
B、N
C、(N+1)/2
D、N/2
对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是______。
A、冒泡排序为n/2
B、冒泡排序为n
C、快速排序为n
D、快速排序为n(n-1)/2
在下列选项中,哪个不是一个算法一般应该具有的基本特征______。
A、确定性
B、可行性
C、无穷性
D、拥有足够的情报
设有下列二叉树:
对此二叉树中序遍历的结果为______。
A、ABCDEF
B、DBEAFC
C、ABDECF
D、DEBFCA
对如下二叉树
进行后序遍历的结果为______。
A、ABCDEF
B、DBEAFC
C、ABDECF
D、DEBFCA
在单链表中,增加头结点的目的是______。
A、方便运算的实现
B、使单链表至少有一个结点
C、标识表结点中首结点的位置
D、说明单链表是线性表的链式存储实现
用链表表示线性表的优点是______。
A、便于插入和删除操作
B、数据元素的物理顺序与逻辑顺序相同
C、花费的存储空间较顺序存储少
D、便于随机存取
下列对于线性链表的描述中正确的是______。
A、存储空间不一定是连续,且各元素的存储顺序是任意的
B、存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C、存储空间必须连续,且前件元素一定存储在后件元素的前面
D、存储空间必须连续,且各元素的存储顺序是任意的
希尔排序法属于哪一种类型的排序法______。
A、交换类排序法
B、插入类排序法
C、选择类排序法
D、建堆排序法
在下列几种排序方法中,要求内存量最大的是______。
A、插入排序
B、选择排序
C、快速排序
D、归并排序
已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是______。
A、cedba
B、acbed
C、decab
D、deabc
栈和队列的共同点是______。
A、都是先进后出
B、都是先进先出
C、只允许在端点处插入和删除元素
D、没有共同点
栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是______。
A、ABCED
B、DBCEA
C、CDABE
D、DCBEA
为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为______。
A、PAD图
B、N-S图
C、结构图
D、数据流图
n个顶点的强连通图的边数至少有______。
A、n-1
B、n(n-1)
C、n
D、n+1
下列叙述中正确的是______。
A、一个算法的空间复杂度大,则其时间复杂度也必定大
B、一个算法的空间复杂度大,则其时间复杂度必定小
C、一个算法的时间复杂度大,则其空间复杂度必定小
D、上述三种说法都不对
程序设计
4、下面描述中,符合结构化程序设计风格的是______。
A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B、模块只有一个入口,可以有多个出口
C、注重提高程序的执行效率
D、不使用goto语句
11、结构化程序设计主要强调的是______。
A、程序的规模
B、程序的易读性
C、程序的执行效率
D、程序的可移植性
下面不属于软件设计原则的是______。
A、抽象
B、模块化
C、自底向上
D、信息隐蔽
在设计程序时,应采纳的原则之一是______。
A、程序结构应有助于读者理解
B、不限制goto语句的使用
C、减少或取消注解行
D、程序越短越好
信息隐蔽的概念与下述哪一种概念直接相关______。
A、软件结构定义
B、模块独立性
C、模块类型划分
D、模拟耦合度
下列选项中不属于结构化程序设计方法的是______。
A、自顶向下
B、逐步求精
C、模块化
D、可复用
两个或两个以上的模块之间关联的紧密程度称为______。
A、耦合度
B、内聚度
C、复杂度
D、数据传输特性
下列选项中不符合良好程序设计风格的是______。
A、源程序要文档化
B、数据说明的次序要规范化
C、避免滥用goto语句
D、模块设计要保证高耦合、高内聚
5、下面概念中,不属于面向对象方法的是______。
A、对象
B、继承
C、类
D、过程调用
下面对对象概念描述错误的是______。
A、任何对象都必须有继承性
B、对象是属性和方法的封装体
C、对象间的通讯靠消息传递
D、操作是对象的动态性属性
面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。
A、模拟现实世界中不同事物之间的联系
B、强调模拟现实世界中的算法而不强调概念
C、使用现实世界的概念抽象地思考问题从而自然地解决问题
D、鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考
下面描述中,符合结构化程序设计风格的是______。
A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B、模块只有一个入口,可以有多个出口
C、注重提高程序的执行效率
D、不使用goto语句
在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送______。
A、调用语句
B、命令
C、口令
D、消息
软件工程
下列描述中正确的是______。
A、程序就是软件
B、软件开发不受计算机系统的限制
C、软件既是逻辑实体,又是物理实体
D、软件是程序、数据与相关文档的集合
下列描述中正确的是______。
A、软件工程只是解决软件项目的管理问题
B、软件工程主要解决软件产品的生产率问题
C、软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
D、软件工程只是解决软件开发中的技术问题
软件开发的结构化生命周期方法将软件生命周期划分成______。
A、定义、开发、运行维护
B、设计阶段、编程阶段、测试阶段
C、总体设计、详细设计、编程调试
D、需求分析、功能定义、系统设计
下面不属于软件工程的3个要素的是______。
A、工具
B、过程
C、方法
D、环境
6、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。
A、可行性分析
B、需求分析
C、详细设计
D、程序编码
下列不属于结构化分析的常用工具的是______。
A、数据流图
B、数据字典
C、判定树
D、PAD图
在软件设计中,不属于过程设计工具的是______。
A、PDL(过程设计语言)
B、PAD图
C、N-S图
D、DFD图
软件需求分析阶段的工作,可以分为四个方面:
需求获取、需求分析、编写需求规格说明书以及______。
A、阶段性报告
B、需求评审
C、总结
D、都不正确
在软件开发中,下面任务不属于设计阶段的是______。
A、数据结构设计
B、给出系统模块结构
C、定义模块算法
D、定义需求并建立系统模型
需求分析阶段的任务是确定______。
A、软件开发方法
B、软件开发工具
C、软件开发费用
D、软件系统功能
下列工具中不属于需求分析常用工具的是______。
A、PAD
B、PFD
C、N-S
D、DFD
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是______。
A、控制流
B、加工
C、数据存储
D、源和潭
下列选项中不属于软件生命周期开发阶段任务的是______。
A、软件测试
B、概要设计
C、软件维护
D、详细设计
在结构化方法中,软件功能分解属于下列软件开发中的______阶段。
A、详细设计
B、需求分析
C、总体设计
D、编程调试
7、在软件开发中,下面任务不属于设计阶段的是______。
A、数据结构设计
B、给出系统模块结构
C、定义模块算法
D、定义需求并建立系统模型
在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。
A、概要设计
B、详细设计
C、可行性分析
D、需求分析
从工程管理角度,软件设计一般分为两步完成,它们是______。
A、概要设计与详细设计
B、过程控制
C、软件结构设计与数据设计
D、程序设计与数据设计
程序流程图(PFD)中的箭头代表的是______。
A、数据流
B、控制流
C、调用关系
D、组成关系
软件调试的目的是______。
A、发现错误
B、改正错误
C、改善软件的性能
D、挖掘软件的潜能
下列叙述中,不属于软件需求规格说明书的作用的是______。
A、便于用户、开发人员进行理解和交流
B、反映出用户问题的结构,可以作为软件开发工作的基础和依据
C、作为确认测试和验收的依据
D、便于开发人员进行需求分析
在软件工程中,白箱测试法可用于测试程序的内部结构。
此方法将程序看做是______。
A、循环的集合
B、地址的集合
C、路径的集合
D、目标的集合
下列不属于软件调试技术的是______。
A、强行排错法
B、集成测试法
C、回溯法
D、原因排除法
下列对于软件测试的描述中正确的是______。
A、软件测试的目的是证明程序是否正确
B、软件测试的目的是使程序运行结果正确
C、软件测试的目的是尽可能多地发现程序中的错误
D、软件测试的目的是使程序符合结构化原则
为了使模块尽可能独立,要求______。
A、模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B、模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C、模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D、模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
下面叙述正确的是______。
A、程序设计就是编制程序
B、程序的测试必须由程序员自己去完成
C、程序经调试改错后还应进行再测试
D、程序经调试改错后不必进行再测试
下列叙述中正确的是______。
A、软件交付使用后还需要进行维护
B、软件一旦交付使用就不需要再进行维护
C、软件交付使用后其生命周期就结束
D、软件维护是指修复程序中被破坏的指令
下列叙述中正确的是______。
A、软件测试应该由程序开发者来完成
B、程序经调试后一般不需要再测试
C、软件维护只包括对程序代码的维护
D、以上三种说法都不对
数据库
在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是______。
A、数据库系统
B、文件系统
C、人工管理
D、数据项管理
8、数据库系统的核心是______。
A、数据模型
B、数据库管理系统
C、软件工具
D、数据库
数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是______。
A、DB包含DBS和DBMS
B、DBMS包含DB和DBS
C、DBS包含DB和DBMS
D、没有任何关系
9、下列叙述中正确的是______。
A、数据库是一个独立的系统,不需要操作系统的支持
B、数据库设计是指设计数据库管理系统
C、数据库技术的根本目标是要解决数据共享的问题
D、数据库系统中,数据的物理结构必须与逻辑结构一致
10、下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。
A、内模式
B、外模式
C、概念模式
D、逻辑模式
在数据库系统中,用户所见数据模式为______。
A、概念模式
B、外模式
C、内模式
D、物理模式
用树形结构来表示实体之间联系的模型称为______。
A、关系模型
B、层次模型
C、网状模型
D、数据模型
在关系数据库中,用来表示实体之间联系的是______。
A、树结构
B、网结构
C、线性表
D、二维表
下述关于数据库系统的叙述中正确的是______。
A、数据库系统减少了数据冗余
B、数据库系统避免了一切冗余
C、数据库系统中数据的一致性是指数据类型的一致
D、数据库系统比文件系统能管理更多的数据
SQL语言又称为______。
A、结构化定义语言
B、结构化控制语言
C、结构化查询语言
D、结构化操纵语言
分布式数据库系统不具有的特点是______。
A、分布式
B、数据冗余
C、数据分布性和逻辑整体性
D、位置透明性和复制透明性
视图设计一般有3种设计次序,下列不属于视图设计的是______。
A、自顶向下
B、由外向内
C、由内向外
D、自底向上
下列叙述中正确的是______。
A、数据库是一个独立的系统,不需要操作系统的支持
B、数据库设计是指设计数据库管理系统
C、数据库技术的根本目标是要解决数据共享的问题
D、数据库系统中,数据的物理结构必须与逻辑结构一致
索引属于______。
A、模式
B、内模式
C、外模式
D、概念模式
下列有关数据库的描述,正确的是______。
A、数据库是一个DBF文件
B、数据库是一个关系
C、数据库是一个结构化的数据集合
D、数据库是一组文件
下列说法中,不属于数据模型所描述的内容的是______。
A、数据结构
B、数据操作
C、数据查询
D、数据约束
将E-R图转换到关系模式时,实体与联系都可以表示成______。
A、属性
B、关系
C、键
D、域
在E-R图中,用来表示实体的图形是______。
A、矩形
B、椭圆形
C、菱形
D、三角形
数据处理的最小单位是______。
A、数据
B、数据元素
C、数据项
D、数据结构
关系表中的每一横行称为一个______。
A、元组
B、字段
C、属性
D、码
数据库设计的根本目标是要解决______。
A、数据共享问题
B、数据安全问题
C、大量数据存储问题
D、简化数据维护
数据库设计包括两个方面的设计内容,它们是______。
A、概念设计和逻辑设计
B、模式设计和内模式设计
C、内模式设计和物理设计
D、结构特性设计和行为特性设计
按条件f对关系R进行选择,其关系代数表达式为______。
A、
B、
C、бf(R)
D、∏f(R)
单个用户使用的数据视图的描述称为______。
A、外模式
B、概念模式
C、内模式
D、存储模式
数据库设计包括两个方面的设计内容,它们是______。
A、概念设计和逻辑设计
B、模式设计和内模式设计
C、内模式设计和物理设计
D、结构特性设计和行为特性设计
数据独立性是数据库技术的重要特点之一,所谓数据独立性是指______。
A、数据与程序独立存放
B、不同的数据被存放在不同的文件中
C、不同的数据只能被对应的应用程序所使用
D、以上三种说法都不对
设有如下关系表______。
RST
则下列操作中,正确的是______。
A、T=R∩S
B、T=R∪S
C、T=RхS
D、T=R/S
设有如下三个关系表
RST
下列操作中正确的是______。
A、T=R∩S
B、R∪S
C、
D、T=R∕S
"商品"与"顾客"两个实体集之间的联系一般是______。
A、一对一
B、一对多
C、多对一
D、多对多
数据库设计的四个阶段是:
需求分析、概念设计、逻辑设计和______。
A、编码设计
B、测试阶段
C、运行阶段
D、物理设计
算法与数据结构
问题处理方案的正确而完整的描述称为。
1、算法的复杂度主要包括______复杂度和空间复杂度。
2、算法复杂度主要包括时间复杂度和______复杂度。
数据结构分为逻辑结构和存储结构,循环队列属于______结构。
对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为____。
实现算法所需的存储单元多少和算法的工作量大小分别称为算法的______。
算法的基本特征是可行性、确定性、______和拥有足够的情报。
2、数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。
在最坏情况下,冒泡排序的时间复杂度为______。
顺序存储方法是把逻辑上相邻的结点存储在物理位置______的存储单元中。
在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:
前序遍历、______遍历和后序遍历。
在最坏情况下,堆排序需要比较的次数为______。
栈的基本运算有三种:
入栈、退栈和______。
按"先进后出"原则组织数据的数据结构是______。
数据结构分为线性结构和非线性结构,带链的队列属于______。
若串s="Program",则其子串的数目是______。
某二叉树中度为2的结点有18个,则该二叉树中有个叶子结点。
一棵二叉树第六层(根结点为第一层)的结点数最多为______个。
数据独立性分为逻辑独立性与物理独立性。
当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为______。
下列软件系统结构图
的宽度为______。
程序设计
面向对象的模型中,最基本的概念是对象和______。
结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、______和限制使用goto语句。
面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。
在面向对象方法中,类的实例称为。
在面向对象方法中______描述的是具有相似属性与操作的一组对象。
软件工程
3、若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。
软件工程研究的内容主要包括:
______技术和软件工程管理。
与结构化需求分析方法相对应的是______方法。
数据流的类型有______和事务型。
软件维护活动包括以下几类:
改正性维护、适应性维护、______维护和预防性维护。
测试的目的是暴露错误,评价程序的可靠性;而______的目的是发现错误的位置并改正错误。
软件的调试方法主要有:
强行排错法、______和原因排除法。
数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。
软件的需求分析阶段的工作,可以概括为四个方面:
______、需求分析、编写需求规格说明书和需求评审。
诊断和改正程序中错误的工作通常称为。
在进行模块测试时,要为每个被测试的模块另外设计两类模块:
驱动模块和承接模块(桩模块)。
其中______的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
软件的调试方法主要有:
强行排错法、______和原因排除法。
程序测试分为静态分析和动态测试。
其中______是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。
数据库