计算机二级公共基础知识数据结构与算法 1 算法 算法:是指解题方案的准确而完整的描述。 2 数据结构的基本基本概念 数据结构研究的三个方面: 3 线性表及其顺序存储结构 线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。 4 栈和队列 栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。 5 线性链表 数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。 6 树与二叉树 树是一种简单的非线性结构,所有元素之间具有明显的层次特性。 7 查找技术 顺序查找的使用情况: 8 排序技术 排序是指将一个无序序列整理成按值非递减顺序排列的有序序列。 1.1 算法 算法:是解题方案的准确而完整的描述。通俗地说,算法就是计算机解题的过程。算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计。 (1)确定性,算法中每一步骤都必须有明确定义,不允许有模棱两可的解释,不允许有多义性; (2)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止; (3)可行性,算法原则上能够精确地执行; (4)拥有足够的情报。 算法效率的度量—算法复杂度:算法时间复杂度和算法空间复杂度。★★★ 算法时间复杂度:指执行算法所需要的计算工作量。即算法执行过程中所需要的基本运算次数。 算法空间复杂度:指执行这个算法所需要的内存空间。 1.2 数据结构的基本概念 数据结构:指相互有关联的数据元素的集合。 数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; (2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。 线性结构的条件,(一个非空数据结构): (1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。 1.3 线性表及其顺序存储结构 线性表的顺序存储结构具有以下两个基本特点: (1)线性表中所有元素所占的存储空间是连续的; (2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 顺序表的运算:查找、插入、删除。 1.4线性链表 数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。 结点由两部分组成: (1) 用于存储数据元素值,称为数据域; (2) 用于存放指针,称为指针域,用于指向前一个或后一个结点。 在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。 链式存储方式即可用于表示线性结构,也可用于表示非线性结构。 线性链表的基本运算:查找、插入、删除。 1.5栈和队列★★★★ 栈:限定在一端进行插入与删除的线性表。 其允许插入与删除的一端称为栈顶,用指针top表示栈顶位置。 不允许插入与删除的另一端称为栈底,用指针bottom表示栈底。 栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。 栈的存储方式有顺序存储和链式存储。 栈的基本运算: (1) 入栈运算,在栈顶位置插入元素; (2) 退栈运算,删除元素(取出栈顶元素并赋给一个指定的变量); (3) 读栈顶元素,将栈顶元素赋给一个指定的变量,此时指针无变化。 队列:指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。 用rear指针指向队尾,用front指针指向队头元素的前一个位置。 队列是“先进先出”(FIFO)或“后进后出”(LILO)的线性表。 队列运算: (1) 入队运算:从队尾插入一个元素; (2) 退队运算:从队头删除一个元素; 计算循环队列的元素个数: “尾指针减头指针”,若为负数,再加其容量即可。 即: 当 尾指针-头指针>0 时,尾指针-头指针 当 尾指针-头指针<0 时,尾指针-头指针+容量 计算栈的个数: 栈底 –栈顶 +1 1.6 树与二叉树 ★★★★★ 1、树的基本概念 树是一种简单的非线性结构,其所有元素之间具有明显的层次特性。 在树结构中,每一个结点只有一个前件,称为父结点。 没有前件的结点只有一个,称为树的根结点,简称树的根。 每一个结点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点。 在树结构中,一个结点所拥有的后件的个数称为该结点的度。 来源:考试大 所有结点中最大的度称为树的度。 树的最大层次称为树的深度。 2、二叉树及其基本性质 满足下列两个特点的树,即为二叉树 (1) 非空二叉树只有一个根结点; (2) 每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。 二叉树基本性质:★★★★ 性质1 在二叉树的第k层上,最多有 个结点。 性质2 深度为m的二叉树最多有个 个结点。 性质3 在任意一棵二叉树中,度数为0的结点(即叶子结点)总比度为2的结点多一个。 性质4 具有n个结点的二叉树,其深度至少为 ,其中 表示取 的整数部分 3、满二叉树与完全二叉树 满二叉树:除最后一层外,每一层上的所有结点都有两个子结点。 完全二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。 下图a表示的是满二叉树,下图b表示的是完全二叉树: 4、二叉树的遍历 ★★★★ 二叉树的遍历是指不重复地访问二叉树中的所有结点。二叉树的遍历可以分为以下三种: (1)前序遍历(DLR):若二叉树为空,则结束返回。否则:首先访问根结点,然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。 (2)中序遍历(LDR):若二叉树为空,则结束返回。否则:首先遍历左子树,然后访问根结点,最后遍历右子树;并且,在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。 (3)后序遍历(LRD):若二叉树为空,则结束返回。否则:首先遍历左子树,然后遍历右子树,最后访问根结点,并且,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根结点. 该二叉树前序遍历为:F C A D B E G H P 该二叉树中序遍历为:A C B D F E H G P 该二叉树后序遍历为:A B D C H P G E F 1.7 查找技术 查找:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素。 查找结果:(查找成功:找到;查找不成功:没找到。) 平均查找长度:查找过程中关键字和给定值比较的平均次数。 查找分为: 顺序查找 二分法查找对于长度为n的有序线性表,最坏情况只需比较 次,而顺序查找需要比较n次。 1.8 排序技术 排序是指将一个无序序列整理成按值非递减顺序排列的有序序列。 1、交换类排序法(冒泡排序,快速排序) 2、插入类排序法(简单插入排序,希尔排序) 3、选择类排序法(简单选择排序,堆排序) 冒泡排序法,快速排序法,简单插入排序法,简单选择排序法,最坏需要比较的次数为n(n-1)/2 希尔排序,最坏需要比较的次数为 堆排序,最坏需要比较的次数为 2.1 程序设计设计方法和风格 "清晰第一、效率第二"已成为当今主导的程序设计风格。 形成良好的程序设计风格需注意: 1、源程序文档化; 2、数据说明的方法; 3、语句的结构; 4、输入和输出。 注释分序言性注释和功能性注释。 语句结构清晰第一、效率第二。 2.2 结构化程序设计 结构化程序设计方法的四条原则是: 1、自顶向下; 2、逐步求精; 3、模块化; 4、限制使用goto语句。 3.1 软件工程基本概念 1、软件的相关概念 计算机软件是包括程序、数据及相关文档的完整集合。 软件的特点包括:1)软件是一种逻辑实体,而不是物理实体,具有抽象性;2)软件的生产与硬件不同,它没有明显的制作过程;3)软件在运行、使用期间不 存在磨损、老化问题;4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;5)软件复杂性高,成本昂贵;6)软件 开发涉及诸多的社会因素。 2、软件危机与软件工程 软件工程源自软件危机。所谓软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件工程的主要思想是将工程化原则运用到软件开发过程,它包括3个要素:方法、工具和过程。方法是完成软件工程项目的技术手段;工具是支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。 软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。 3、软件生命周期 软件生命周期:软件产品从提出、实现、使用维护到停止使用退役的过程。 软件生命周期分为软件定义、软件开发及软件运行维护三个阶段: 1)软件定义阶段:包括制定计划和需求分析。 制定计划:确定总目标;可行性研究;探讨解决方案;制定开发计划。 需求分析:对待开发软件提出的需求进行分析并给出详细的定义。 2)软件开发阶段: 软件设计:分为概要设计和详细设计两个部分。 软件实现:把软件设计转换成计算机可以接受的程序代码。 软件测试:在设计测试用例的基础上检验软件的各个组成部分。 3)软件运行维护阶段:软件投入运行,并在使用中不断地维护,进行必要的扩充和删改。 4、软件工程的目标和与原则 (1)软件工程目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、 可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。 (2)软件工程需要达到的基本目标应是:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发,及时交付使用。 (3)软件工程原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。 1)抽象: 2)信息隐蔽: 3)模块化:4)局部化:5)确定性: 6)一致性:7)完备性: 8)可验证性: 3.2 结构化分析方法 1、需求分析 需求分析方法有:1)结构化需求分析方法;2)面向对象的分析方法。 2、结构化分析方法 结构化分析方法是结构化程序设计理论在软件需求分析阶段的应用。 结构化分析方法的实质:着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。 结构化分析的常用工具:1)数据流图(DFD);2)数据字典(DD);3)判定树;4)判定表。 数据流图的基本图形元素: 加工(转换):输入数据经加工变换产生输出。 数据流:沿箭头方向传送数据的通道,一般在旁边标注数据流名。 存储文件(数据源):表示处理过程中存放各种数据的文件。 源,潭:表示系统和环境的接口,属系统之外的实体。 3.3 结构化设计方法 1、软件设计的基础 从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。 从工程角度来看,软件设计分两步完成,即概要设计和详细设计。 概要设计:又称结构设计,将软件需求转化为软件体系结构,确定系统级接口、全局数据结构或数据库模式。 详细设计:确定每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。 软件设计的基本原理包括:抽象、模块化、信息隐蔽和模块独立性。 1)抽象。抽象是一种思维工具,就是把事物本质的共同特性提取出来而不考虑其他细节。 2)模块化。解决一个复杂问题时自顶向下逐步把软件系统划分成一个个较小的、相对独立但又不相互关联的模块的过程。 3)信息隐蔽。每个模块的实施细节对于其他模块来说是隐蔽的。 4)模块独立性。软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的。 *:模块分解的主要指导思想是信息隐蔽和模块独立性。 模块的耦合性和内聚性是衡量软件的模块独立性的两个定性指标。 内聚性:是一个模块内部各个元素间彼此结合的紧密程度的度量。 *:按内聚性由弱到强排列,内聚可以分为以下几种:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚及功能内聚。 耦合性:是模块间互相连接的紧密程度的度量。 *:按耦合性由高到低排列,耦合可以分为以下几种:内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合以及非直接耦合。 一个设计良好的软件系统应具有高内聚、低耦合的特征。 在结构化程序设计中,模块划分的原则是:模块内具有高内聚度,模块间具有低耦合度。 2、总体设计(概要设计)和详细设计 (1)总体设计(概要设计) 软件概要设计的基本任务是:1)设计软件系统结构;2)数据结构及数据库设计;3)编写概要设计文档;4)概要设计文档评审。 常用的软件结构设计工具是结构图,也称程序结构图。程序结构图的基本图符: 模块用一个矩形表示,箭头表示模块间的调用关系。在结构图中还可以用带注释的箭头表示模块调用过程中来回传递的信息。还可用带实心圆的箭头表示传递的是控制信息,空心圆箭心表示传递的是数据信息。 (2)详细设计 详细设计是为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。 常用的过程设计(即详细设计)工具有以下几种: 图形工具:程序流程图、N-S(方盒图)、PAD(问题分析图)和HIPO(层次图+输入/处理/输出图)。 表格工具:判定表。 语言工具:PDL(伪码) 3.4 软件测试 1、软件测试定义:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。 软件测试的目的:尽可能地多发现程序中的错误,不能也不可能证明程序没有错误。软件测试的关键是设计测试用例,一个好的测试用例能找到迄今为止尚未发现的错误。 2、软件测试方法:静态测试和动态测试。 静态测试:包括代码检查、静态结构分析、代码质量度量。不实际运行软件,主要通过人工进行。 动态测试:是基于计算机的测试,主要包括白盒测试方法和黑盒测试方法。 (1)白盒测试 白盒测试方法也称为结构测试或逻辑驱动测试。它是根据软件产品的内部工作过程,检查内部成分,以确认每种内部操作符合设计规格要求。 白盒测试的基本原则:保证所测模块中每一独立路径至少执行一次;保证所测模块所有判断的每一分支至少执行一次;保证所测模块每一循环都在边界条件和一般条件下至少各执行一次;验证所有内部数据结构的有效性。 *:白盒测试法的测试用例是根据程序的内部逻辑来设计的,主要用软件的单元测试,主要方法有逻辑覆盖、基本路径测试等。 A、逻辑覆盖。逻辑覆盖泛指一系列以程序内部的逻辑结构为基础的测试用例设计技术。通常程序中的逻辑表示有判断、分支、条件等几种表示方法。 语句覆盖:选择足够的测试用例,使得程序中每一个语句至少都能被执行一次。 路径覆盖:执行足够的测试用例,使程序中所有的可能的路径都至少经历一次。 判定覆盖:使设计的测试用例保证程序中每个判断的每个取值分支(T或F)至少经历一次。 条件覆盖:设计的测试用例保证程序中每个判断的每个条件的可能取值至少执行一次。 判断-条件覆盖:设计足够的测试用例,使判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能取值分支至少执行一次。 *:逻辑覆盖的强度依次是:语句覆盖<路径覆盖<判定覆盖<条件覆盖<判断-条件覆盖。 B、基本路径测试。其思想和步骤是,根据软件过程性描述中的控制流程确定程序的环路复杂性度量,用此度量定义基本路径集合,并由此导出一组测试用例,对每一条独立执行路径进行测试。 (2)黑盒测试 黑盒测试方法也称为功能测试或数据驱动测试。黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证。 黑盒测试主要诊断功能不对或遗漏、接口错误、数据结构或外部数据库访问错误、性能错误、初始化和终止条件错误。 黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例,主要方法有等价类划分法、边界值分析法、错误推测法等,主要用软件的确认测试。 3、软件测试过程一般按4个步骤进行:单元测试、集成测试、确认测试和系统测试。 3.5 程序的调试 程序调试的任务是诊断和改正程序中的错误,主要在开发阶段进行,调试程序应该由编制源程序的程序员来完成。 程序调试的基本步骤:(1)错误定位;(2)纠正错误;(3)回归测试。 软件的调试后要进行回归测试,防止引进新的错误。 软件调试可分为静态调试和动态调试。静态调试主要是指通过人的思维来分析源程序代码和排错,是主要的调试手段,而动态调试是辅助静态调试。 对软件主要的调试方法可以采用: (1)强行排错法。 (2)回溯法。 (3)原因排除法。 结构化程序的基本结构及特点: (1)顺序结构:一种简单的程序设计,最基本、最常用的结构; (2)选择结构:又称分支结构,包括简单选择和多分支选择结构,可根据条件,判断应该选择哪一条分支来执行相应的语句序列; (3)循环结构:又称重复结构,可根据给定条件,判断是否需要重复执行某一相同或类似的程序段。 结构化程序设计的特点:只有一个入口和出口 2.3 面向对象的程序设计 面向对象方法的优点: (1)与人类习惯的思维方法一致; (2)稳定性好; (3)可重用性好; (4)易于开发大型软件产品; (5)可维护性好。 对象是面向对象方法中最基本的概念,可以用来表示客观世界中的任何实体,对象是实体的抽象。 面向对象的程序设计方法中,对象是由数据的容许的操作组成的封装体,是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组表示其静态特征的属性和它可执行的一组操作组成。 操作描述了对象执行的功能,是对象的动态属性,操作也称为方法或服务。 对象的基本特点: (1)标识惟一性; (2)分类性; (3)多态性; (4)封装性; (5)模块独立性好。 类是指具有共同属性、共同方法的对象的集合。类是关于对象性质的描述。类是对象的抽象,对象是其对应类的一个实例。 消息是一个实例与另一个实例之间传递的信息。对象间的通信靠消息传递。它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。 继承是使用已有的类定义作为基础建立新类的定义技术,广义指能够直接获得已有的性质和特征,而不必重复定义他们。 继承具有传递性,一个类实际上继承了他上层的全部基类的特性。 继承分单继承和多重继承。 多态性是指同样的消息被不同的对象接受时可导致完全不同的行动的现象。 4.1 数据库系统的基本概念 1、数据、数据库、数据管理系统 (1)数据 (2)数据库(DB) (3)数据库管理系统(DBMS):一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,是数据库的核心。 数据库管理系统功能: 1)数据模式定义 2)数据存取的物理构建 3)数据操纵 4)数据的完整性、安生性定义与检查 5)数据库的并发控制与故障恢复 6)数据的服务 数据库技术的根本目标是解决数据的共享问题。 2、数据库系统的发展 数据库管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。 3、数据库系统的基本特点 (1)数据的高集成性。 (2)数据的高共享性与低冗余性。 (3)数据独立性: 数据独立性一般分为物理独立性与逻辑独立性两级。 物理独立性:物理独立性即是数据的物理结构(包括存储结构,存取方式等)的改变,如存储设备的更换、物理存储的更换、存取方式改变等都不影响数据库的逻辑结构,从而不致引起应用程序的变化。 逻辑独立性:数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要相应修改应用程序,这就是数据的逻辑独立性。 (4)数据统一管理与控制。 4、数据库系统的内部结构体系 (1)数据库系统的三级模式: 1)概念模式:数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。 2)外模式:也称子模式或用户模式,它是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出。 3)内模式:又称物理模式,它给出了数据库物理存储结构与物理存取方法。内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。内模式对一般用户是透明的,但它的设计直接影响数据库的性能。 (2)数据库系统的两级映射: 1)概念模式/内模式的映射:实现了概念模式到内模式之间的相互转换。当数据库的存储结构发生变化时,通过修改相应的概念模式/内模式的映射,使得数据库的逻辑模式不变,其外模式不变,应用程序不用修改,从而保证数据具有很高的物理独立性。 2)外模式/概念模式的映射:实现了外模式到概念模式之间的相互转换。当逻辑模式发生变化时,通过修改相应的外模式/逻辑模式映射,使得用户所使用的那部分外模式不变,从而应用程序不必修改,保证数据具有较高的逻辑独立性。 4.2 数据模型 1、数据模型 2、实体联系模型及E-R图 E-R模型的图示法: 1)实体集:用矩形表示。 2)属性:用椭圆形表示。 3)联系:用菱形表示。 4)实体集与属性间的联接关系:用无向线段表示。 5)实体集与联系间的联接关系:用无向线段表示。 3、数据库管理系统常见的数据模型有层次模型、网状模型和关系模型三种。 4.3 关系代数 1、关系的数据结构 关系是由若干个不同的元组所组成,因此关系可视为元组的集合。n元关系是一个n元有序组的集合。 关系模型的基本运算:1)插入;2)删除;3)修改;4)查询(包括投影、选择、笛卡尔积运算)。 2、关系操纵 关系模型的数据操纵即是建立在关系上的数据操纵,一般有查询、增加、删除和修改四种操作。 3、集合运算及选择、投影、连接运算 (1)并(∪):关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合。 (2)差(-):关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合。 (3)交(∩):关系R和S具有相同的关系模式,R和S的交是由属于R且属于S的元组构成的集合。 (4)广义笛卡尔积(×):设关系R和S的属性个数分别为n、m,则R和S的广义笛卡尔 积是一个有(n+m)列的元组的集合。每个元组的前n列来自R的一个元组,后m列来自S的一个元组,记为R×S。 *:根据笛卡尔积的定义:有n元关系R及m元关系S,它们分别有p、q个元组,则关系R与S经笛卡尔积记为R×S,该关系是一个n+m元关系,元组个数是p×q,由R与S的有序组组合而成。 例:有两个关系R和S,分别进行并、差、交和广义笛卡尔积运算。 (5)在关系型数据库管理系统中,基本的关系运算有选择、投影与联接三种操作: 1)选择:选择指的是从二维关系表的全部记录中,把那些符合指定条件的记录挑出来。 2)投影:投影是从所有字段中选取一部分字段及其值进行操作,它是一种纵向操作。 3)联接:联接将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足联接条件的元组。 4.4 数据库设计方法和步骤 (1)数据库设计阶段包括:需求分析、概念分析、逻辑设计、物理设计。 (2)数据库设计的每个阶段都有各自的任务: 1)需求分析阶段:这是数据库设计的第一个阶段,任务主要是收集和分析数据,这一阶段收集到的基础数据和数据流图是下一步设计概念结构的基础。 2)概念设计阶段:分析数据间内在语义关联,在此基础上建立一个数据的抽象模型,即形成E-R图。 3)逻辑设计阶段:将E-R图转换成指定RDBMS中的关系模式。 4)物理设计阶段:对数据库内部物理结构作调整并选择合理的存取路径,以提高数据库访问速度及有效利用存储空间。 全国计算机等级考试二级公共基础知识复习题 一、选择题(在下列各题的A)、 B)、 C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。) 1.1 数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及 A)数据的存储结构 B)计算方法 C)数据映象 D)逻辑存储 正确答案: A 1.2 数据处理的最小单位是 A)数据 B)数据元素 C)数据项 D)数据结构 正确答案: C 1.3 根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成 A)动态结构和静态结构 B)紧凑结构和非紧凑结构 C)线性结构和非线性结构 D)内部结构和外部结构 正确答案: C 1.4 数据结构中,与所使用的计算机无关的是数据的 A)存储结构 正确答案: C 1.5 在计算机中,算法是指 A)加工方法 B)解题方案的准确而完整的描述 C)排序方法 D)查询方法 正确答案: B 1.6 算法分析的目的是 A)找出数据结构的合理性 B)找出算法中输入和输出之间的关系 C)分析算法的易懂性和可靠性 D)分析算法的效率以求改进 正确答案: D 1.7 算法的时间复杂度是指 A)执行算法程序所需要的时间 B)算法程序的长度 C)算法执行过程中所需要的基本运算次数 D)算法程序中的指令条数 正确答案: C 1.8 算法的空间复杂度是指 A)算法程序的长度 B)算法程序中的指令条数 C)算法程序所占的存储空间 D)执行过程中所需要的存储空间 正确答案: D 1.9 链表不具有的特点是 A)不必事先估计存储空间 B)可随机访问任一元素 C)插入删除不需要移动元素 D)所需空间与线性表长度成正比 正确答案: B 1.10 用链表表示线性表的优点是 A)便于随机存取 B)花费的存储空间较顺序存储少 C)便于插入和删除操作 D)数据元素的物理顺序与逻辑顺序相同 正确答案: C 1.11 下列叙述中正确的是 A)线性表是线性结构 B)栈与队列是非线性结构 C)线性链表是非线性结构 D)二叉树是线性结构 正确答案: A 1.12 线性表的顺序存储结构和线性表的链式存储结构分别是 A)顺序存取的存储结构、顺序存取的存储结构 B)随机存取的存储结构、顺序存取的存储结构 C)随机存取的存储结构、随机存取的存储结构 D)任意存取的存储结构、任意存取的存储结构 正确答案: B 1.13 线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是 A)每个元素都有一个直接前件和直接后件 B)线性表中至少要有一个元素 C)表中诸元素的排列顺序必须是由小到大或由大到小 D)除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件 正确答案: D 1.14 在单链表中,增加头结点的目的是 A)方便运算的实现 B)使单链表至少有一个结点 C)标识表结点中首结点的位置 D)说明单链表是线性表的链式存储实现 正确答案: A 1.15 非空的循环单链表head的尾结点(由p所指向),满足 A)p->next==NULL B)p==NULL C)p->next=head D)p=head 正确答案: C 1.16 循环链表的主要优点是 A)不再需要头指针了 B)从表中任一结点出发都能访问到整个链表 C)在进行插入、删除运算时,能更好的保证链表不断开 D)已知某个结点的位置后,能够容易的找到它的直接前件 正确答案: B 1.17 下列数据结构中,按先进后出原则组织数据的是 A)线性链表 B)栈 C)循环链表 D)顺序表 正确答案: B 1.18 栈和队列的共同特点是 A)都是先进先出 B)都是先进后出 C)只允许在端点处插入和删除元素 D)没有共同点 正确答案: C 1.19 如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是 A)e3,e1,e4,e2 B)e2,e4,e3,e 正确答案: B 1.20 栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是 A)ABCED B)DCBEA C)DBCEA D)CDABE 正确答案: B 1.21 栈通常采用的两种存储结构是 A线性存储结构和链表存储结构 B散列方式和索引方式 C链表存储结构和数组 D)线性存储结构和非线性存储结构 正确答案: A 1.22 串的长度是 A)串中不同字符的个数 B串中不同字母的个数 C串中所含字符的个数且字符个数大于零 D)串中所含字符的个数 正确答案: D 1.23 树是结点的集合,它的根结点数目是 A)有且只有1 B)1或多于 正确答案: A 1.24 设有下列二叉树:对此二叉树前序遍历的结果为 A)ZBTYCPXA B)ATBZXCYP C)ZBTACYXP D)ATBZXCPY 正确答案: B 1.25 已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为 A)GEDHFBCA B)DGEBHFCA C)ABCDEFGH D)ACBFEDHG 正确答案: B 1.26 已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是 A)acbed B)decab C)deabc D)cedba 正确答案: D 1.27 具有3个结点的二叉树有 A)2种形态 B)4种形态 C)7种形态 D)5种形态 正确答案: D 1.28 在深度为5的满二叉树中,叶子结点的个数为 A)32 B) 正确答案: B 1.29 设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为 A)12 B) 正确答案: B 1.30 n个顶点的强连通图的边数至少有 A)n-1 B)n(n-1) C)n D)n+1 正确答案: C 1.31 假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为 A)log2n B)n 正确答案: D 1.32 已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是 A)堆排序 B)直接插入排序 C)快速排序 D)直接选择排序 正确答案: B 1.33 最简单的交换排序方法是 A)快速排序 B)选择排序 C)堆排序 D)冒泡排序 正确答案: D 1.34 在下列几种排序方法中,要求内存量最大的是 A)插入排序 B)选择排序 C)快速排序 D)归并排序 正确答案: D 1.35 程序设计语言的基本成分是数据成分、运算成分、控制成分和 A)对象成分 B)变量成分 C)语句成分 D)传输成分 正确答案: D 1.36 结构化程序设计的3种结构是 A)顺序结构、选择结构、转移结构 B)分支结构、等价结构、循环结构 C)多分支结构、赋值结构、等价结构 D)顺序结构、选择结构、循环结构 正确答案: D 1.37 在设计程序时,应采纳的原则之一是 A)不限制goto语句的使用 B)减少或取消注解行 C)程序越短越好 D)程序结构应有助于读者理解 正确答案: D 1.38 对建立良好的程序设计风格,下面描述正确的是 A程序应简单、清晰、可读性好 B符号名的命名只要符合语法 C充分考虑程序的执行效率 D程序的注释可有可无 正确答案: A 1.39 下列叙述中,不属于结构化程序设计方法的主要原则的是 A)自顶向下 B)由底向上 C)模块化 D)限制使用goto语句 正确答案: B 1.40 结构化程序设计主要强调的是 A)程序的规模 B)程序的效率 C)程序设计语言的先进性 D)程序易读性 正确答案: D 1.41 在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在,与程序的效率相比,人们更重视程序的 A)安全性 B)一致性 C)可理解性 D)合理性 正确答案: C 1.42 一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用 A)栈 B)堆 C)数组 D)链表 正确答案: A 1.43 以下不属于对象的基本特点的是 A)分类性 B)多态性 C)继承性 D)封装性 正确答案: C 1.44 下列不属于软件工程的3个要素的是 A)工具 B)过程 C)方法 D)环境 正确答案: D 1.45 开发大型软件时,产生困难的根本原因是 A)大系统的复杂性 B)人员知识不足 C)客观世界千变万化 D)时间紧、任务重 正确答案: A 1.46 下面不属于软件设计原则的是 A)抽象 B)模块化 C)自底向上 D)信息隐蔽 正确答案: C 1.47 软件工程的理论和技术性研究的内容主要包括软件开发技术和 A)消除软件危机 B)软件工程管理 C)程序设计自动化 D)实现软件可重用 正确答案: B 1.48 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作 A)软件投机 B)软件危机 C)软件工程 D)软件产生 正确答案: B 1.49 软件工程的出现是由于 A)程序设计方法学的影响 B)软件产业化的需要 C)软件危机的出现 D)计算机的发展 正确答案: C 1.50 下列不属于结构化分析的常用工具的是 A)数据流图 B)数据字典 C)判定树 D)PAD图 正确答案: A 1.51 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是 A)控制流 B)加工 C)数据存储 D)源和潭 正确答案: A 1.52 在数据流图(DF D)中,带有名字的箭头表示 A)模块之间的调用关系 B)程序的组成成分 C)控制程序的执行顺序 D)数据的流向 正确答案: D 1.53 在结构化设计方法中,生成的结构图(S C)中,带有箭头的连线表示 A)模块之间的调用关系 B)程序的组成成分 C)控制程序的执行顺序 D)数据的流向 正确答案: A 1.54 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为 A)PAD图 B)N-S图 C)结构图 D)数据流图 正确答案: B 1.55 模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的 A)抽象和信息隐蔽 B)局部化和封装化 C)内聚性和耦合性 D)激活机制和控制方法 正确答案: C 1.56 下列选项中,不属于模块间耦合的是 A)数据耦合 B)同构耦合 C)异构耦合 D)公用耦合 正确答案: C 1.57 软件开发的结构化生命周期方法将软件生命周期划分成 A)定义、开发、运行维护 B)设计阶段、编程阶段、测试阶段 C)总体设计、详细设计、编程调试 D)需求分析、功能定义、系统设计 正确答案: A 1.58 需求分析阶段的任务是确定 A)软件开发方法 B)软件开发工具 C)软件开发费用 D)软件系统功能 正确答案: D 1.59 需求分析中开发人员要从用户那里了解 A)软件做什么 B)用户使用界面 C)输入的信息 D)软件的规模 正确答案: A 1.60 下列叙述中,不属于软件需求规格说明书的作用的是 A)便于用户、开发人员进行理解和交流 B)反映出用户问题的结构,可以作为软件开发工作的基础和依据 C)作为确认测试和验收的依据 D)便于开发人员进行需求分析 正确答案: D 1.61 在软件生产过程中,需求信息的给出是 A)程序员 B)项目管理者 C)软件分析设计人员 D)软件用户 正确答案: D 1.62 软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指 A)模块间的关系 B)系统结构部件转换成软件的过程描述 C)软件层次结构 D)软件开发过程 正确答案: B 1.63 开发软件时对提高开发人员工作效率至关重要的是 A)操作系统的资源管理功能 B)先进的软件开发工具和环境 C)程序人员的数量 D)计算机的并行处理能力 正确答案: B 1.64 在软件测试设计中,软件测试的主要目的是 A)实验性运行软件 B)证明软件正确 C)找出软件中全部错误 D)发现软件错误而执行程序 正确答案: D 1.65 下列叙述中,不属于测试的特征的是 A)测试的挑剔性 B)完全测试的不可能性 C)测试的可靠性 D)测试的经济性 正确答案: C 1.66 为了提高测试的效率,应该 A)随机选取测试数据 B)取一切可能的输入数据作为测试数据 C)在完成编码以后制定软件的测试计划 D)集中对付那些错误群集的程序 正确答案: D 1.67 软件开发离不开系统环境资源的支持,其中必要的测试数据属于 A)硬件资源 B)通信资源 C)支持软件 D)辅助资源 正确答案: D 1.68 完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是 A)黑箱测试法 B)白箱测试法 C)错误推测法 D)安装测试法 正确答案: A 1.69 在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是 A)路径的集合 B)循环的集合 C)目标的集合 D)地址的集合 正确答案: A 1.70 下列不属于软件调试技术的是 A)强行排错法 B)集成测试法 C)回溯法 D)原因排除法 正确答案: B 1.71 检查软件产品是否符合需求定义的过程称为 A)确认测试 B)集成测试 C)验证测试 D)验收测试 正确答案: A 1.72 软件生命周期中所花费用最多的阶段是 A)详细设计 B)软件编码 C)软件测试 D)软件维护 正确答案: D 1.73 软件复杂性度量的参数包括 A)效率 B)规模 C)完整性 D)容错性 正确答案: B 1.74 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是 A)数据库系统 B)文件系统 C)人工管理 D)数据项管理 正确答案: A 1.75 在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有 A)特定的数据模型 B)数据无冗余 C)数据可共享 D)专门的数据管理软件 正确答案: A 1.76 相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和 A)可重用性差 B)安全性差 C)非持久性 D)冗余性 正确答案: D 1.77 下列说法中,不属于数据模型所描述的内容的是 A)数据结构 B)数据操作 C)数据查询 D)数据约束 正确答案: C 1.78 下列有关数据库的描述,正确的是 A)数据库是一个DBF文件 B)数据库是一个关系 C)数据库是一个结构化的数据集合 D)数据库是一组文件 正确答案: C 1.79 下列有关数据库的描述,正确的是 A)数据处理是将信息转化为数据的过程 B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变 C)关系中的每一列称为元组,一个元组就是一个字段 D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字 正确答案: D 1.80 应用数据库的主要目的是 A)解决数据保密问题 B)解决数据完整性问题 C)解决数据共享问题 D)解决数据量大的问题 正确答案: C 1.81 数据库设计包括两个方面的设计内容,它们是 A)概念设计和逻辑设计 B)模式设计和内模式设计 C)内模式设计和物理设计 D)结构特性设计和行为特性设计 正确答案: A 1.82 下述关于数据库系统的叙述中正确的是 A)数据库系统减少了数据冗余 B)数据库系统避免了一切冗余 C)数据库系统中数据的一致性是指数据类型一致 D)数据库系统比文件系统能管理更多的数据 正确答案: B 1.83 数据库系统的核心是 A)数据库 B)数据库管理系统 C)模拟模型 D)软件工程 正确答案: B 1.84 为用户与数据库系统提供接口的语言是 A)高级语言 B)数据描述语言(DDL) C)数据操纵语言(DML) D)汇编语言 正确答案: C 1.85 数据库、数据库系统和数据库管理系统之间的关系是 A)数据库包括数据库系统和数据库管理系统 B)数据库系统包括数据库和数据库管理系统 C)数据库管理系统包括数据库和数据库系统 D)3者没有明显的包含关系 正确答案: B 1.86 分布式数据库系统不具有的特点是 A)数据分布性和逻辑整体性 B)位置透明性和复制透明性 C)分布性 D)数据冗余 正确答案: D 1.87 数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为 A)C B)Basic C)DDL D)DML 正确答案: C 1.88 单个用户使用的数据视图的描述称为 A)外模式 B)概念模式 C)内模式 D)存储模式 正确答案: A 1.89 索引属于 A)模式 B)内模式 C)外模式 D)概念模式 正确答案: B 1.90 在数据库设计中,将E-R图转换成关系数据模型的过程属于 A)需求分析阶段 B)逻辑设计阶段 C)概念设计阶段 D)物理设计阶段 正确答案: B 1.91 实体是信息世界中广泛使用的一个术语,它用于表示 A)有生命的事物 B)无生命的事物 C)实际存在的事物 D)一切事物 正确答案: C 1.92 将E-R图转换到关系模式时,实体与联系都可以表示成 A)属性 B)关系 C)键 D)域 正确答案: B 1.93 下列叙述中,正确的是 A)用E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系 B)用E-R图只能表示实体集之间一对一的联系 C)用E-R图只能表示实体集之间一对多的联系 D)用E-R图表示的概念数据模型只能转换为关系数据模型 正确答案: C 1.94 一个关系中属性个数为1时,称此关系为 A)对应关系 B)单一关系 C)一元关系 D)二元关系 正确答案: C 1.95 下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是 A)选择 B)连接 C)投影 D)并 正确答案: B 1.96 下列数据模型中,具有坚实理论基础的是 A)层次模型 B)网状模型 C)关系模型 D)以上3个都是 正确答案: C 1.97 关系模型允许定义3类数据约束,下列不属于数据约束的是 A)实体完整性约束 B)参照完整性约束 C)域完整性约束 D)用户自定义的完整性约束 正确答案: C 1.98 “年龄在18~25之间”这种约束是属于数据库当中的 A)原子性措施 B)一致性措施 C)完整性措施 D)安全性措施 正确答案: C 1.99 关系表中的每一横行称为一个 A)元组 B)字段 C)属性 D)码 正确答案: A 1.100 SQL语言又称为 A)结构化定义语言 B)结构化控制语言 C)结构化查询语言 D)结构化操纵语言 正确答案: C 1.101 下列SQL语句中,用于修改表结构的是 A)ALTER B)CREATE C)UPDATE D)INSERT 正确答案: A 1.102 NULL是指 A)0 B)空格 C)未知的值或无任何值 D)空字符串 正确答案: C 1.103 数据库的故障恢复一般是由 A)数据流图完成的 B)数据字典完成的 C)DBA完成的 D)PAD图完成的 正确答案: C 二、填空题(请将每一个空的正确答案写在答题卡相应序号后。) 1.104 算法的基本特征是可行性、确定性、 【1】 和拥有足够的情报。 正确答案: 有穷性 1.105 数据结构分为逻辑结构与存储结构,线性链表属于 【2】 。 正确答案: 存储结构 1.106 数据的逻辑结构有线性结构和 【3】 两大类。 正确答案: 非线性结构 1.107 在算法正确的前提下,评价一个算法的两个标准是 【4】 。 正确答案: 时间复杂度和空间复杂度 1.108 算法的工作量大小和实现算法所需的存储单元多少分别称为算法的 【5】 。 正确答案: 时间复杂度和空间复杂度 1.109 顺序存储方法是把逻辑上相邻的结点存储在物理位置 【6】 的存储单元中。 正确答案: 相邻 1.110 长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【7】 。 正确答案: n/2 1.111 栈和队列通常采用的存储结构是 【8】 。 正确答案: 链式存储和顺序存储 1.112 当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为【9】 。 正确答案: 上溢 1.113 若串s="MathTypes",则其子串的数目是【10】 。 正确答案: 46 1.114 在树形结构中,树根结点没有 【11】 。 正确答案: 前件 1.115 在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为【12】 。 正确答案: log2n 1.116 排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、 【13】和选择排序等。 正确答案: 交换排序 1.117 冒泡排序算法在最好的情况下的元素交换次数为 【14】 。 正确答案: 0 1.118 在最坏情况下,堆排序需要比较的次数为 【15】 。 正确答案: O(nlog2n) 1.119 Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向【16】 的设计方法。 正确答案: 数据结构 1.120 面向对象的模型中,最基本的概念是对象和 【17】 。 正确答案: 类 1.121 类是一个支持集成的抽象数据类型,而对象是类的 【18】 。 正确答案: 实例 1.122 在面向对象的程序设计中,类描述的是具有相似性质的一组 【19】 。 正确答案: 对象 1.123 可以把具有相同属性的一些不同对象归类,称为 【20】 。 正确答案: 对象类 1.124 在面向对象方法中,类之间共享属性和操作的机制称为 【21】 。 正确答案: 继承 1.125 一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【22】 。 正确答案: 可重用性 1.126 在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为【23】。 正确答案: 消息 1.127 【24】 是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。 正确答案: 封装 1.128 将代数式 Z=x2+y 正确答案: SQR(x^2+y^2)/(a+b) 1.129 在程序设计阶段应该采取 【26】 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。 正确答案: 自顶而下 1.130 软件危机出现于60年代末,为了解决软件危机,人们提出了 【27】 的原理来设计软件,这就是软件工程诞生的基础。 正确答案: 软件工程学 1.131 软件工程包括3个要素,分别为方法、工具和 【28】 。 正确答案: 过程 1.132 软件工程研究的内容主要包括: 【29】 技术和软件工程管理。 正确答案: 软件开发 1.133 软件开发环境是全面支持软件开发全过程的 【30】 集合。 正确答案: 软件工具 1.134 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 【31】。 正确答案: 软件生命周期 1.135 软件结构是以 【32】 为基础而组成的一种控制层次结构。 正确答案: 模块 1.136 软件设计模块化的目的是 【33】 。 正确答案: 降低复杂性 1.137 耦合和内聚是评价模块独立性的两个主要标准,其中 【34】 反映了模块内各成分之间的联系。 正确答案: 内聚 1.138 数据模型按不同应用层次分成3种类型,它们是概念数据模型、 【35】 和物理数据模型。 正确答案: 逻辑数据模型 1.139 数据流图的类型有 【36】 和事务型。 正确答案: 变换型 1.140 为了便于对照检查,测试用例应由输入数据和预期的 【37】 两部分组成。 正确答案: 输出结果 1.141 常用的黑箱测试有等价分类法、 【38】 、因果图法和错误推测法4种。 正确答案: 边值分析法 1.142 测试的目的是暴露错误,评价程序的可靠性;而 【39】 的目的是发现错误的位置并改正错误。 正确答案: 调试 1.143 软件维护活动包括以下几类:改正性维护、适应性维护、 【40】 维护和预防性维护。 正确答案: 完善性 1.144 数据库管理系统常见的数据模型有层次模型、网状模型和 【41】 3种。 正确答案: 关系模型 1.145 用树型结构表示实体类型及实体间联系的数据模型称为 【42】 。 正确答案: 层次模型 1.146 在关系模型中,把数据看成一个二维表,每一个二维表称为一个 【43】 。 正确答案: 关系 1.147 关系操作的特点是 【44】 操作。 正确答案: 集合 1.148 【45】 是从二维表列的方向进行的运算。 正确答案: 关系运算 1.149 一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体"项目主管"与实体"项目"的联系属于【46】 的联系。 正确答案: 一对多 或 1:N 1.150 数据库设计分为以下6个设计阶段:需求分析阶段、 【47】 、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。 正确答案: 数据库概念设计阶段 1.151 【48】 是数据库设计的核心。 正确答案: 数据模型 1.152 数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和 【49】两个含义。 正确答案: 逻辑独立性 1.153 当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的【50】 。 正确答案: 物理独立性 1.154 关系数据库的关系演算语言是以 【51】 为基础的DML语言。 正确答案: 谓词演算 1.155 关键字ASC和DESC分别表示 【52】 的含义。 正确答案: 升序排列和降序排列 1.156 数据库保护分为:安全性控制、 【53】 、并发性控制和数据的恢复。 正确答案: 完整性控制 1.157 由关系数据库系统支持的完整性约束是指 【54】 和参照完整性。 正确答案: 实体完整性 |
|