本文内容来自笔者学习zst 留下的笔记,都是零碎的要点,查缺补漏,若有错误请大家提出,希望大家都能通过,记得加上免费的关注!谢谢!
文章编辑于:2024-5-13 13:42:56
目录
1. 算法 [广度和深度优先]
广度优先 :又叫层次遍历,从上往下对每一层依次访问,在每一层中,从左往右(也可以从右往左)访问结点,访问完一层就进入下一层,直到没有结点可以访问为止
深度优先:对每一个可能的分支路径深入到不能再深入为止,而且每个结点只能访问一次。
-
深度优先搜素算法:不全部保留结点,占用空间少;有回溯操作(即有入栈、出栈操作),运行速度慢。
-
广度优先搜索算法:保留全部结点,占用空间大; 无回溯操作(即无入栈、出栈操作),运行速度快。
广度优先搜索 是backward cost,通常用队列 数据结构 ,这是一种 动态规划 的搜索方式; 【广东】
深度优先搜索 是forward cost,通常用堆栈数据结构,这是一种贪心搜索方式。【深潭】
归并排序是一种分治算法,
2. 遍历方式
先序遍历:对任一子树,先访问根,然后遍历其左子树,最后遍历其右子树。(根左右)
中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树。(左根右)
后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。(左右根)
3. 四大算法
-
贪心:
在对问题求解时,总是做出在当前看来是最好的选择,只能得到局部最优解,全局最优解不一定
-
分治:
将一个规模为N的问题分解为K个规模较小的子问题;
这些子问题相互独立且与原问题性质相同;
求出子问题的解,就可得到原问题的解;
-
回溯:
一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径
比如数独,八皇后,0-1背包等等;
-
动态规划:
求解决策过程最优化的过程,能获得全局最优解
动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解;
与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的,若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题被重复计算了很多次(比如斐波拉契数列);另外,分治自顶向下,动态规划自底向上;
4. 中间代码
常见的中间代码有后缀式、三地址码和树等。
5. 配置管理
配置管理是软件开发过程的重要内容,贯穿软件开发的整个过程。其内容包括:软件配置标识、变更管理、版本控制、系统建立、配置审核和配置状态报告。
6. 内模式外模式
在数据库系统中,如果对数据库的一张表创建聚簇索引,意味着重新确定表中数据的物理顺序,即需要改变的是数据库的内模式。
7. 常用端协议与端口【常考】
FTP协议代理服务器:21,文件传输 HTTP协议代理服务器:80,8080,3128,8081,9098 HTTP服务器:80 HTTPS:443 SMTP(Email):23 POP3(Email):110,
http(80),pop3(110),SMTP(25),FTP(20,21),Telnet(23) 这几个都是走的TCP协议
带T的除了TFTP,均为TCP
不带T的除了POP3,均为UDP
DHCP(68), TFTP(69),SNMP(发送161,接收162)
关于邮件协议相关: POP3 ,SMTP, IMAP MIME
其他协议:
RARP 协议:反向地址转换协议,反向地址转换协议(RARP)允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址。
ARP(Address Resolution Protocol,地址解析协议)用于动态地完成IP地址向物理地址的转换。物理地址通常是指计算机的网卡地址,也称为MAC(Medai Access Control,媒体访问控制)地址,每块网卡都有唯一的地址。
8. 海明码
海明不等式:校验码个数为k,2的k次方个校验信息,1个校验信息用来指出“没有错误”,满足m+k+1<=2k。所以32位的数据位,需要6位校验码
^K-1>=N+K
9. 全文件名
该文件的全文件名包括其所在路径及其文件名称,为/swtools/flash/rw.dll,全文件名是绝对路径
10. 判定覆盖相关解析
语句覆盖<条件覆盖<判定覆盖<条件-判定覆盖<组合覆盖<路径覆盖
11. 软件详细设计阶段
软件详细设计阶段的主要任务包括:对模块内的数据结构进行设计;对数据库进行物理设计;对每个模块进行详细的算法设计;代码设计、输入/输出设计、用户界面设计等其他设计
12. ARP RARP
RARP 协议:反向地址转换协议,反向地址转换协议(RARP)允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址。
ARP(Address Resolution Protocol,地址解析协议)用于动态地完成IP地址向物理地址的转换。物理地址通常是指计算机的网卡地址,也称为MAC(Medai Access Control,媒体访问控制)地址,每块网卡都有唯一的地址。
13. 软件概要设计阶段
软件概要设计阶段的主要任务包括
软件系统总体结构设计,将系统划分成模块;确定每个模块的功能;确定模块之间的调用关系;确定模块之间的接口,即模块之间传递的信息;评价模块结构的质量。
数据结构及数据库设计。
14. 软件开发传统模型
原型:需求不明确
螺旋:适合庞大的,复杂高风险,不明确
瀑布:文档为驱动,需求要很明确 喷泉:
面向对象,需大量开发人员,不便管理,审核难。
演化:需求不明确,可以在使用中不断完善。
15. 二进制
n位二进制。
原码和反码:-2ⁿ⁻¹-1到2ⁿ⁻¹-1;
补码:-2ⁿ⁻¹到2ⁿ⁻¹-1。 也可以表示,原码和反码:(-2ⁿ⁻¹,2ⁿ⁻¹);补码:[-2ⁿ⁻¹,2ⁿ⁻¹)。
16. 寻址
立即寻址最快,寄存器寻址最慢,直接寻址次之
17. 数据流图建模
数据流图建模应遵循:自顶向下、从抽象到具体的原则。
18. 视图
存储过程给第三方开发、存储人员; 视图给用户、客户查询、部分修改。
19. 模块结构图
模块结构图的主要组成有:模块、调用、控制信息和转接符号。
20. 自然连接
自然连接:是将重复的属性列将会删除,
21. 关于矩阵连乘
关于矩阵连乘相关要点:
采用的算法:动态规划
时间复杂度:n3次方
空间复杂度:n2平方
22. 邻接表存储和邻接表矩阵
知识点,关于邻接表存储,时间复杂度:(n+e)
对于邻接矩阵的话,时间复杂度:n2
23. 单缓冲区,双缓冲区
一般来说时间为: (T+M)*n+C
24. 敏捷方法
考点 | ||
---|---|---|
极限编程(XP) | 轻量级,高效,低风险 | 4大价值观: 沟通,简单性,反馈和勇气 |
水晶法 | 每一套都需要一个不同的的策略,约定和方法 | |
并列争求法 | 使用迭代的方法,其中,把每**30天一次迭代称为一个"冲刺"** | |
自适应软件开发 | 6个基本原则,有一个使命作为指导 | |
敏捷统一过程 | "大型商连续" 小型上迭代 |
25. 参数多态
参数多态是应用比较广泛的多态,被称为最纯的多态,包含多态在许多语言中都存在,最常见的例子就是子类型化,即一个类型是另一个类型的子类型。过载多态是同一个名字在不同的上下文中所代表的含义不同。
26. 关系模式推理规则
关系模式R来说有以下的推理规则:
A1.自反律(Reflexivity) :若YcXcU,则×一Y成立。
A2.增广律(Augmentation):若ZcU且X→Y,则XZ一YZ成立。
A3.传递律(Transitivity) :若X→Y且Y一Z,则X一Z成立。
根据A1,A2,A3这三条推理规则可以得到下面三条推理规则:
合并规则:由X→Y,X一Z,有X→YZ。(A2,A3)
伪传递规则:由X→Y, WY一Z,有XW→Z。(A2,A3)
分解规则:由X一Y及ZcY,有X→Z。(A1,A3)本颗洗择A洗项
27. 多态要点
参数多态: | 采用参数化模板,通过给出不同的类型参数,使得一个结构有多种类型 ( 函数模板和类模板 ) |
---|---|
包含多态: | 包含多态最常见的例子就是子类型化,同样的操作可用于一个类型及其子类型。(注意是子类型,不是子类。) 例子 : virtual 类 |
过载多态: | 是一种特定的多态,指的是统一名称在不同上下文中可以代表不同的含义。 同一个名(操作符、函数名)在不同的上下文中有不同的类型,程序设计语言中基本类型的大多数操作符都是过载多态的。 例如:函数重载和运算符重载 |
强制多态: | 编译程序通过语义操作,把操作对象的类型强行加以变换,以符合函数或操作符的要求。程序设计语言中基本类型的大多数操作符,在发生不同类型的数据进行混合运算时,编译程序一般都会进行强制多态。 |
-
重置(Overiding)是指在子类中改变父类的既有函数行为的操作。其基本思想是通过一种动态绑定机制的支持,使得子类在继承父类界面定义的前提下,用适合于自己要求的实现去置换父类中的相应实现。
-
重载(Overloading)是指在子类中保留既有父类的函数名,但使用不同类型的参数,即在面向对象编成语言中,允许同名、具有不同类型参数的函数共同存在。
28. 软件详细设计阶段内容
软件详细设计阶段的主要任务包括:对模块内的数据结构进行设计;对数据库进行物理设计;对每个模块进行详细的算法设计;代码设计、输入/输出设计、用户界面设计等其他设计。 软件概要设计阶段的主要任务包括 (1)软件系统总体结构设计,将系统划分成模考;确定每个模块的功能;确定模块之间的调用关系;确定模块之间的接口,即模块之间传递的信息;评价模块结构的质量。 (2)数据结构及数据库设计。
29. 分布式数据库系统
在分布式数据库系统中,
-
共享性是指数据存储在不同的结点数据共享;
-
自治性指每结点对本地数据都能独立管理:
-
可用性是指当某-场地故障时,系统可以使用其他场地上的复本而不至于使整个系统瘫痪;
-
分布性是指数据在不同场地上的存储。
30. 二叉树
满二叉树:对于满二叉树的判断,对于深度为k,有2^k-1结点。
完全二叉树:对于高度为h的完全二叉树,除了h层(最后一层),其余都是满二叉树。
满二叉树性质3:n0=n2+1 度为0的结点个个数等于n2
二叉树性质4:对于n个结点的完全二叉树高度为[log2n]+1或者[log2(n+1)]