第一章
1、算法:是指解题方案的准确而完整的描述
2、算法的基本特征:可行性、确定性、又穷性、拥有足够的情报
3、算法设计基本方法:列举法、归纳法、递推、递归、减半递推技术、回溯法
4、算法的复杂度主要包括时间复杂度空间复杂度
5、用算法在执行过程中所需基本运算的执行次数来度量算法的工作量
6、数据结构作为计算机的一门学科,主要研究和讨论一下三个方面的问题:
(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构
(2)在对数据进行处理时,各数据元素在计算机中的储存关系,即数据的存储结构
(3)对数据结构进行的运算
7、数据的逻辑结构:是指带有结构的数据元素的集合
8、数据结构应包含(1)表示数据元素的信息
                (2)表示各数据元素之间的前后件关系
9、所谓数据的逻辑结构,是指反应数据元素之间逻辑关系的数据结构
10、数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构
11、根据数据结构中各数据元素之间前后件关系的复杂程度一般将数据结构分为两大类型:
线性结构与非线性结构
12、如果一个非空的数据结构满足下列两个条件
(1)有且只有一个根结点
(2)每一个结点最多有一个前件,也最多有一个后件
则称该数据结构为线性结构,又称线性表
13、线性表是最简单、最常用的一种数据结构
14、非线性表有以下结构特征
(1)有且只有一个根结点a1,它无前件
(2)有且只有一个终结点An,它无后件
江西公务员考试成绩查询时间(3)除根结点与终结端外,其他所有结点有且只有一个前件,也有且只有一个后件,
    线性表中结点的个数n称为为线性表长度,当n=0时,称为空表
15线性表的顺序存储结构具有两个基本特点
  (1)线性表中所有元素所占的存储空间是连续的
  (2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的
16、顺序表的插入、删除运算
17、栈:是限定在一端进行插入与删除的线性表
18、栈是按照“先进后出”或“后进先出”的原则组织数据的,栈也被称为“先进后出” 表
或“后进先出”表
19、栈中的个数=bottom-top+1 (用值大的减值小的再加一)
Top=0表示栈空  top=m表示栈满
支持子程序调用的数据结构是栈
栈的基本运算有三种:入栈、退栈、与读栈顶元素
20、队列:是指允许在一端进行插入、而在另一端进行删除的线性表
21、队列称为“先进先出”或“后进后出”的线性表
22、对列空与对列满的条件:队列空的条件为s=0,队列满的条件为s=1且ftont=rear
23、入队运算、是指在循环队列的队尾加入一个新元素
退队运算、是指在循环队列的排头位置退出一个元素并赋给指定的变量
24、线性表的链式存储式结构称为线性链表
黄冈人事网25、(1)在线性链表中查指定元素
(2)线性链表的插入、是指在链式存储结构下的线性表中插入一个新元素
(3)线性链表的删除、是指在链式存储结构下的线性表中删除包含指定元素的结点
26、树是一种简单的非线性结构
27、树这种数据结构的基本特征
(1)在树结构中每一个结点只有一个前件,称为父结点没有前件的结点只有一个,称
    为树的根结点,简称为树的根。
(2)在树结构中,每一个结点可以有多个后件,它们都称为该结点的子结点。没有后
        件的结点称为叶子结点
(3)在树结构中,一个结点所拥有的后件个数称为该结点的度。叶子结点的度为0在
    树中,所有结点中的最大的度称为树的度
28、树的最大层次称为树的深度
29、在树中,以某结点的一个子结点为根构成的树称为该结点的一颗子树,叶子结点没有子
30、二叉树,是一种很有用的非线性结构
31、二叉树的特点:(1)非空二叉树只有一个根结点
                (2)每一个结点最多有两颗子树,每一个结点的度最大为2
32、二叉树的基本性质:(1)在二叉树的第k层上,最多有2的k-1次方(k>=1)个结点
                    (2)深度为m的二叉树最多有2的m次方-1个结点(深度为m的
                          二叉树是指二叉树共有m层)
                    (3)在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度
                          为2的结点多一个
                    (4)具有n个结点的二叉树,其深度至少为【log2N】+1,其中【log2N】
                        表示取其整数部分
33、满二叉树与完全二叉树(1)满二叉树:除最后一层外,每一层上的所有结点都有两个
                            子结点
                        (2)完全二叉树:除最后一层外,每一层上的结点树均达到最
                            大值,在最后一层上只缺少右边的若干结点
34、完全二叉树的性质:(1)具有m个结点的完全二叉树的深度为【log2N】+1
                    (2)设完全二叉树共有n个结点
35、计算机中二叉树通常采用链式存储结构
36、二叉树的遍历:是指不重复地访问二叉树中的所有结点
                  (1)前序遍历(2)中序遍历(3)后序遍历
37、二分法查只适用于顺序存储的有序表。二分法查只需要比较log2N次而顺序查需要比较n次
38、交换类排序法:冒泡排序法、快速排序法
39、插入类排序法:简单插入排序法、希尔排序法
40、选择类排序法:简单选择排序法、堆排序法
第二章
1、注释一般分为序言性注释、功能性注释
2、结构化程序设计方法的主要原则可以概括为自项而下、逐步求精、模块化、限制使用语
三月考教资什么时候报名  句
3、面向对象方法的优点(1)与人类习惯的思维方法一(2)稳定性好(3)可重用性好(4)
  易于开发大型软件产品(5)可维护性好
4、对象的基本特点:标志唯一性、分类性、多态性、封装性、模块独立性好
5、将属性、操作相似的对象归为类  类是对象的抽象
6、消息:对象与对象之间的传递形式称为消息
7、继承:是指能够直接获得已有的性质和特征,而不必重复定义他们
第三章
1、计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档
  的完整集合
2、软件的特点:(1)软件是一种逻辑实体,而不是物理实体,具有抽象性
              (2)软件的生产与硬件不同他没有明显的制作过程
              (3)软件在运行、使用期间不存在磨损、老化问题
              (4)软件的开发、运行对计算机系统具有依赖性受计算机系统的限制导致
                  了软件移植问题
              (5)软件复杂性高,成本昂贵
              (6)软件开发涉及诸多的社会因素
2、软件工程概念的出现源自软件危机
3、软件危机主要表现在
四级英语成绩查询入口2022      (1)软件需求的增长得不到满足
      (2)软件开发成本和进度无法控制
公务员考试都考什么科目      (3)软件质量难以保证
      (4)软件不可维护或维护程度非常低
      (5)软件的成本不断提高
      (6)软件开发生产率的提高赶不上硬件的发展和应用需求的增长
4、软件工程3要素,方法、工具、过程
5、软件生命周期,软件定义、软件开发、软件运行
6、软件生命周期的主要活动阶段,(1)可行性研究与计划制定(2)需求分析(3)软件设计(4)软件实现(5)软件测试(6)运行和维护
7、软件工程的原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性、和可验证性
8、软件开发环境:是全面支持软件开发全过程的软件工具集合
9、需求分析阶段的工作(1)需求获取(2)需求分析(3)编写需求规格说明书(4)需求评审
10、需求分析方法(1)结构化分析方法(2)面向对象的分析方法
11、数据流图主要图形元素:(椭圆)加工转换  (箭头)数据流  (两条横线)存储文件
(长方形)源,潭
12、数据字典、是结构化分析方法的核心,数据字典是对所有与系统相关的数据元素的一个有组织的列表以及精确的严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解
13、软件需求规格说明书的作用是(1)便于用户、开发人员进行理解和交流
                              (2)反映出用户问题的结构,可以作为软件开发工作的
                                  基础和依据
                              (3)作为确认测试和验收的依据
14、软件设计的重要性和地位概括为以下几点
(1)软件开发阶段(设计、编码、测试)占据软件项目开发总成本绝大部分,是在软件开发中形成质量的关键环节
(2)软件设计是开发阶段最重要的步骤,是将需求准确的转化为完整的软件产品或系统的唯一途径
(3)软件设计作出的决策,最终影响软件实现的成败
(4)设计是软件工程和软件维护的基础
15、衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准
16、软件概要设计的基本任务是(1)设计软件系统结构
                            (2)数据结构及数据库设计
                            (3)编写概要设计文档
                            (4)概要设计文档评审
17、典型的数据流类型有两种:变换型和事务型
18、常见的过程设计工具有(1)图形工具:程序流程图
                        (2)表格工具:判定表
                        (3)语言工具:PDL(伪码)
19、软件测试的目的、发现错误
20、软件测试方法:若从是否需要执行被测软件的角度,可分为静态测试和动态测试
                  若按照功能划分为白盒测试和黑盒测试
21、静态测试不实际运行软件,主要通过人工进行,动态测试是基于计算机的测试
22、白盒测试的主要方法有逻辑覆盖、基本路径测试
23、黑盒测试方法主要有等价类划分法、边界分析法、错误推测法、因果图,主要用于软件确认测试
24、软件测试过程:单元测试、集成测试、验收测试(确认测试)、系统测试
25、系统测试的具体实施一般包括:功能测试、性能测试、操作测试、配置测试、外部接口测试、安全性测试
2020年公务员申论热点