软件设计师笔记(二)-零碎要点

本文内容来自笔者学习zst 留下的笔记,都是零碎的要点,查缺补漏,若有错误请大家提出,希望大家都能通过,记得加上免费的关注!谢谢!

文章编辑于:2024-5-13 13:42:56

目录

1. 算法 [广度和深度优先]

2. 遍历方式

3. 四大算法

4. 中间代码

5. 配置管理

6. 内模式外模式

7. 常用端协议与端口【常考】

8. 海明码

9. 全文件名

10. 判定覆盖相关解析

11. 软件详细设计阶段

12. ARP RARP

13. 软件概要设计阶段

14. 软件开发传统模型

15. 二进制

16. 寻址

17. 数据流图建模

18. 视图

19. 模块结构图

20. 自然连接

21. 关于矩阵连乘

22. 邻接表存储和邻接表矩阵

23. 单缓冲区,双缓冲区

24. 敏捷方法

25. 参数多态

26. 关系模式推理规则

27. 多态要点

28. 软件详细设计阶段内容

29. 分布式数据库系统

30. 二叉树


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)]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/11264.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【什么是范数】L1、L2范数介绍

一、 什么是范数 范数&#xff08;Norm&#xff09;是数学中用于衡量向量大小(或距离)的一种概念。在几何和代数中&#xff0c;范数可以提供一个向量长度或大小的量度。更正式地说&#xff0c;范数是一个函数&#xff0c;它将向量的集合映射到非负实数&#xff0c;满足以下性质…

社交媒体数据恢复:陌陌

确保你的手机已经进行了备份。备份可以提高数据恢复的成功率。 在电脑上下载并安装数据恢复软件。在使用软件进行恢复之前&#xff0c;请确保你的安卓手机已经在开发者选项中开启了USB调试模式。 使用USB数据线将手机连接至电脑。打开数据恢复软件&#xff0c;选择“陌陌聊天…

毕业论文写作神器:使用Latex写论文 安装texlive+texstudio 并添加IEEE模板

听说Latex写论文方便&#xff0c;更改格式方便&#xff0c;而且颜值高 LexLive2024安装 清华镜像网址&#xff1a;Index of /CTAN/systems/texlive/Images/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 下载完双击打开texlive2024.iso,然后点击 修改路径&#xf…

面试宝典(2)——缓存篇(Redis)

面试宝典&#xff08;2&#xff09;——缓存篇&#xff08;Redis&#xff09; 1.Redis的主要用途有哪些&#xff1f; 缓存分布式锁&#xff1a;setnx&#xff0c;redisson消息队列&#xff0c;延迟队列 2.什么是缓存穿透&#xff1f; 查询一个不存在的数据&#xff0c;数据…

C++入门指南(中)

目录 ​编辑 一、C关键字(C98) 二、命名空间 2.1 域 2.2 命名空间域 2.1 命名空间定义 2.2 命名空间使用 三、C输入&输出 四、缺省参数 4.1 缺省参数概念 4.2 缺省参数分类 五、函数重载 5.1 函数重载概念 5.2 C支持函数重载的原理--名字修饰(name Mangling)…

告别黑板粉笔 高新技术进课堂 未来教室会成什么

现在&#xff0c;全国许多院校都经过引进信息化技能&#xff0c;完成智慧校园建造&#xff0c;推进教育均衡展开。一些校园的小学教室的信息化配备投入经费已达50万元/每间&#xff0c;初中是70万元&#xff0c;高中是90万元。这些新技能的投入运用有用的共享教育内容、精准地分…

ES6 笔记02

目录 01 对象的扩展 02 链判断运算符 03 属性名表达式 04 Symbol 类型 05 set集合的使用 06 Map集合的使用 07 Set集合和Map集合的遍历方式 08 iterator迭代器 01 对象的扩展 对象的属性和方法的简洁表示: es6允许在字面量对象里面直接写变量名 let 变量名变量值; let …

金融业开源软件应用 评估规范

金融业开源软件应用 评估规范 1 范围 本文件规定了金融机构在应用开源软件时的评估要求&#xff0c;对开源软件的引入、维护和退出提出了实现 要求、评估方法和判定准则。 本文件适用于金融机构对应用的开源软件进行评估。 2 规范性引用文件 下列文件中的内容通过文中的规范…

WS2811 单线 256 级灰度三通道恒流 LED 驱动器芯片 IC

产品概述 WS2811 是三通道LED驱动控制专用电路&#xff0c;芯片内部包含了智能数字接口数据锁存信号整形放大驱动电路&#xff0c;还包含有高精度的内部振荡器和15V高压可编程定电流输出驱动器。同时&#xff0c;为了降低电源纹波&#xff0c;3个通道有一定的延时导通功…

【数据结构课程学习】:队列学习

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;数据结构课程学习 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 &#x1f697; 1.队列的基本概念&#xff1a…

如何利用代理IP高效采集全球热点,赋能短视频创作?

如何利用代理IP高效采集全球热点&#xff0c;赋能短视频创作&#xff1f; 一、摘要二、代理IP1. 什么是代理IP&#xff1f;2. 代理IP的分类3. 代理的重要性 三、如何选择可靠的代理IP服务商&#xff1f;四、IPIDEA代理IP简介1.IPIDEA简介2.IPIDEA的优势 五、获取代理IP1. 注册平…

python随机显示四级词汇

python实现一个浮动窗口随机显示四级单词在桌面跑来跑去 实现一个浮动窗体随机显示四级单词在windows桌面置顶移动 tkinter库来创建窗口和显示单词&#xff0c;以及random库来随机选择单词。 使用after方法来定时更新窗口的位置&#xff0c;实现单词窗口的慢慢移动效果 使用…

有机硅改性氟树脂性能进一步提升 市场需求增长空间大

有机硅改性氟树脂性能进一步提升 市场需求增长空间大 有机硅改性氟树脂&#xff0c;利用有机硅树脂对氟树脂进行改性得到一种新型的、性能更为优异的树脂材料。 有机硅树脂&#xff0c;具有柔韧性好、电绝缘、憎水、耐候、耐老化等优点&#xff0c;但固化温度高且时间长、附着力…

使用Apache Spark从MySQL到Kafka再到HDFS的数据转移

使用Apache Spark从MySQL到Kafka再到HDFS的数据转移 在本文中&#xff0c;将介绍如何构建一个实时数据pipeline&#xff0c;从MySQL数据库读取数据&#xff0c;通过Kafka传输数据&#xff0c;最终将数据存储到HDFS中。我们将使用Apache Spark的结构化流处理和流处理功能&#…

Leetcode-有效的括号

20. 有效的括号 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/valid-parentheses/ 题目 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&…

c++ map,set封装

map 是一个 kv 结构&#xff0c; set 是 k结构。 我们前面模拟实现了 红黑树&#xff0c;但是我们实现的红黑树把 kv 结构写死了&#xff0c;怎么样才能用泛型编程的思想来实现map和set呢 我们先简单看一下原码中是怎么实现的 1.原码实现逻辑 我们打开这里的 stl_set.h 通过…

Dubbo基本使用

Dubbo基本使用 1.项目介绍2.开发步骤2.1 启动注册中心2.2 初始化项目2.3 添加 Maven 依赖2.3.1 父pom.xml2.3.1 consumer模块和provider模块pom.xml 2.4 定义服务接口2.5 定义服务端的实现2.6 配置服务端 Yaml 配置文件2.7 配置消费端 Yaml 配置文件2.8 基于 Spring 配置服务端…

芯片原厂工程师带你学 Linux 驱动

芯片原厂工程师&#xff0c;手把手带你学Linux驱动&#xff0c;感兴趣的点个关注私聊呀。 介绍&#xff1a; https://b2qtatgfkp.feishu.cn/docx/HoBKdezVFo6HlVx0hXPc8R7QnWc

JINGWHALE 数字认证体系 · 进阶知识库

JINGWHALE 数字认证体系 是 JINGWHALE 数字科学艺术创新中心 的数字认证服务。 ◢◤ 宗旨 致力于数字化知行合一的知识赋能&#xff01; ◥ 数字化人才培养 培养数字化思维&#xff0c;传播数字化知识&#xff0c;赋能各行业数字化。 ◥ 职业人才发展 无缝衔接学校高等…

LeetCode题目104: 二叉树的最大深度(递归\迭代\层序遍历\尾递归优化\分治法实现 )

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容&#xff0c;和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣&#xff01; 推荐&#xff1a;数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航&#xff1a; LeetCode解锁100…