内容发布更新时间 : 2024/12/27 21:03:22星期一 下面是文章的全部内容请认真阅读。
公共基础补充知识点
公共基础复习方法:
第一:请把10页纸背下来;
第二:把习题册的公共基础题目做好; 第三:结合考前公共基础补充知识复习好;(注意:下划线的一般是选择题目,框起来的一般是填空题目,没有下划线和方框标识的一般也是选择题目)
数据结构与算法
算法的基本特性:可行性,确定性,有穷性,拥有足够的情报。 算法是指解题方案准确而完善的描述。 算法复杂度包括时间复杂度和空间复杂度。 时间复杂度:执行算法所需要的计算机工作量。 空间复杂度:执行算法所要的内存空间。
数据结构分为逻辑结构和存储结构。常用的存储结构有顺序结构、链式存储结构、索引存储结构、
数据逻辑结构:反映数据元素之间逻辑关系的数据结构。
数据存储结构:数据的逻辑结构在计算机存储空间中的存放形式。
队:FIFO,一头进,另一头出来。循环队列,一般题型:概念、计算队列中还有几个元素(尾指针减去头指针)。
栈:FILO,只能从一个头进,出。一般题型:概念、问A B C D四个选项中不能出栈的次序。
线性表的基本概念。记住线性表顶多有一个头节点和一个后继节点。所以栈、队列、单向链表都是线性表,树、双向链表不是线性表。
树;叶子节点最多的个数:2n-1个节点。一共的节点数目2n-1,节点为2的数目为节点为1的数目减一。也就是n2=n0-1
满二叉树: . 完全二叉树: . 二叉树中,度为0的数目比度为1的数目多一个。 n0=n2+1 二叉树的前序遍历、中序遍历、后序遍历是考试重点。
顺序查找:长度为n的线性表,平均要进行n/2,最坏要进行n次比较。(常考) 二分查找:对于长度为n的线性表,在最坏情况进行 log2n 次。 要背的话:
算法的时间复杂度和空间复杂度没有必然的联系。
一个数据结构的逻辑结构根据需要可以有多个存储结构。存储结构的不同,会造成处理的效率不同。
栈具有记忆性。如果要存的数据是1 2 3 4 5,栈可以不顺序存储。 我们存放数据的时候,存储空间不一定是连续的,并且各个元素的存储顺序可以是任意的。如:链表。
在线性链表中查找一个元素比在顺序表中查找一个元素要快,
冒泡排序、选择排序、交换排序、堆排序中平均排序次数最快的是 堆排序。 能够用二分查找的是顺序存储的有序线性表。
逻辑结构 存储结构 线性表 栈 队列 树 二叉树
链表,顺序存放 链表,顺序存放 链表,顺序存放 链式存放 链式存放 程序设计基础
1、 程序设计方法和技术的发展经过了结构化程序设计和面向对象设计两个阶段。 2、 当今程序设计的风格是“清晰第一,效率第二”。 3、 程序可以没有输入,但是一定要有输出。
4、 结构化程序设计遵循:自顶向下,逐步求精,模块化,限制使用goto语句(常考)。 5、 面向对象的基本特点:标志唯一性,分类性,多态性,封装性,模块独立性。尤其重要的是多态性和封装性。没有类比性。
6、 多态性:统一操作可以是不同对象的行为。同样的消息被不同的对象接收时可导致不同的动作的现象。
7、 封装性:从外面看不到对象的内部,只能看到对象的外部特性。
8、 类:是具有共同属性、共同方法的对象的集合。描述了属于该对象类型的所有对象的性质,而一个对象则是对应类的一个实例。(常考)
9、 消息:是指对象间的相互合作的协作机制,是一个对象与另一个对象之间的传递的消息。
10、继承:是指使用已有的类定义作为基础建立新类的定义技术。继承分为单继承和多继承。单继承只有一个父亲,多继承可以有多个父亲。 11、面向对象中,类的实例叫做对象。
12、源程序文档化要求程序应该加上注释。注释一般为序言性注释和功能性注释。 13、面向对象方法和技术是以对象为核心。
软件工程基础
1、 软件工程的核心思想是把软件当作一个工程产品来处理。 2、 软件开发的三个阶段以及每个阶段的任务: 可行性研究初步项实现 测试 使用 维护 需求 概要 详细 分析 设计 分析 目计划 定义阶段 开发阶段 维护阶段 这个表请大家抽时间背下。软件开发的三个阶段,每个阶段的工程。 3、 软件开发方法包括分析方法,设计方法,程序设计方法。
4、 结构化方法包括结构化分析方法,结构化设计方法,结构化编程方法。 5、 结构化分析方法在软件需求分析阶段的应用。
6、 结构化分析常用的工具中最重要的工具是数据流图。 表示加工, 表示数据流, 数据源, 表示源。
7、 软件规格说明书(SRS)是需求分析阶段的最后结果,是软件开发文档重要的文档
之一。
8、 软件设计要求高耦合性和低内聚性是考试的重点,要知道什么是耦合,什么是内聚。 9、 软件测试和程序调试的区别。软件测试的过程涵盖了整个软件生命周期。目的是退役 为了发现错误而执行程序的过程。
10、从是否要执行被测试软件的角度,软件测试分为静态测试和动态测试。 11、从功能上划分,软件测试分为白盒测试和黑盒测试。 12、白盒测试是检查内部成分,方法有:逻辑覆盖测试方法,基本路径测试。 13、黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证。方法有:等价类划分法,边界值划分法,错误推测法。 14、软件测试的四个步骤。自己默写一遍。
15、程序调试的任务:诊断和改正程序中错误,它和软件测试不同,调试主要在开发阶段。
16、软件调试方法:强制排错法,回朔法,原因排除法。 17、软件维护不属于软件生命周期开发阶段的任务。 18、软件进行了程序调试后还要进行测试。
19、软件工程的主要思想是:强调在软件开发过程中需要应用工程化的原则。 20、软件设计中,不属于过程设计工具的是:DFD图。 21、结构化分析常见的工具:DFD图,DD(数据字典),判定树,判定表。 22、程序和软件是不同的,软件是程序、数据与相关文档的集合。 23、软件的开发、运行对计算机系统具有依赖性。 24、软件工程的三要素:工具、过程、方法。
25、软件生命周期中,能够准确确定软件系统必须做什么和必须具备哪些功能的阶段是:需求分析。
26、数据流图只含有数据流,不含有控制流。数据流图用于抽象描述一个软件的逻辑模
型。
27、数据流的类型有两种:事务型和变换型。在很多软件应用中,存在某种作业数据流,
它可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据流叫做事务型数据流。
28、程序流程图中的箭头代表的是:控制流。 29、在结构化方法中,软件功能分解属于总体设计阶段。 30、内聚型中内聚性最强的是:功能内聚。
31、检查软件产品是否符合需求定义的过程是:确认测试。
32、软件危机:泛指在计算机软件的开发和维护过程中遇到的一系列严重的问题。 33、Jackson 方法是一种面向数据结构的结构化方法。
34、软件开发环境是全面支持软件开发全过程的软件开发工具集合。
35、软件需求是指用户对目标软件系统在功能、行为、性能设计约束等方面的期望。 36、为每一个模块确定实现算法和局部数据结构的是详细设计阶段的任务。
数据库设计基础
1、 关系运算是考试的重点,考的多的是并和笛卡尔积。不改变属性但减少元组个数的是并。投影也是比较喜欢考的,一般的意思是从4、5个列中选出2、3个。笛卡尔积则是会增加元组的个数。
2、 E-R图中,矩形、菱形、椭圆形等代表的意思是考试的重点。 3、 数据库系统中,数据的物理结构不一定要和逻辑结构一致。 4、 数据库技术的根本目标是解决数据的共享问题。 5、 数据库系统中,用户所见的数据模式为:外模式。