软件设计师笔记(三)-设计模式和算法设计

本文内容来自笔者学习zst 留下的笔记,都是零碎的要点,查缺补漏,希望大家都能通过,记得加上免费的关注!谢谢!本章主要以下午题出现形式为主!

文章编辑于:2024-5-13 13:43:47

目录

[1. 设计模式考试要点:](#1. 设计模式考试要点:)

[1.1 创建型](#1.1 创建型)

[1.1.1 Product Method(工厂方法) 类模式](#1.1.1 Product Method(工厂方法) 类模式)

[1.1.2 Abstract Factory(抽象工厂模式)](#1.1.2 Abstract Factory(抽象工厂模式))

[1.1.3 Builder(生成器模式)](#1.1.3 Builder(生成器模式))

[1.1.4 Prototype(原型模式)](#1.1.4 Prototype(原型模式))

[1.1.5 Singleton(单例)](#1.1.5 Singleton(单例))

[1.2 结构性模式](#1.2 结构性模式)

[1.2.1 Adapter(适配器) 类模式](#1.2.1 Adapter(适配器) 类模式)

[1.2.3 Bridge(桥接)](#1.2.3 Bridge(桥接))

[1.2.4 Composite(组合)](#1.2.4 Composite(组合))

[1.2.5 Decorator(装饰器)](#1.2.5 Decorator(装饰器))

[1.2.6 Facade(外观)](#1.2.6 Facade(外观))

[1.2.6 Flyweight(享元)](#1.2.6 Flyweight(享元))

[1.2.7 Proxy(代理)](#1.2.7 Proxy(代理))

[1.3 行为设计模式](#1.3 行为设计模式)

[1.3.1 Chain of Responsibility (责任链)](#1.3.1 Chain of Responsibility (责任链))

[1.3.2 Command(命令)](#1.3.2 Command(命令))

[1.3.3. Interptreter(解释器)类模式](#1.3.3. Interptreter(解释器)类模式)

[1.3.4 Iterator(迭代器)](#1.3.4 Iterator(迭代器))

[1.3.5 Mediator(中介者)](#1.3.5 Mediator(中介者))

[1.3.6 Memento(备忘录)](#1.3.6 Memento(备忘录))

[1.3.7 Observer(观察者)](#1.3.7 Observer(观察者))

[1.3.8 State(状态)](#1.3.8 State(状态))

[1.3.9 Strategy (策略)](#1.3.9 Strategy (策略))

[1.3.10 Template Method(模板方法) 类模式](#1.3.10 Template Method(模板方法) 类模式)

[2. 算法设计](#2. 算法设计)

[2.1 回溯法](#2.1 回溯法)

[2.2 分治法](#2.2 分治法)

[2.3 动态规划](#2.3 动态规划)


1. 设计模式考试要点:

记忆:

类模式【4种】: 工厂方法类模式,适配器类模式,解释器类模式,模板方法类模式,

创建型: 丹丹原本想去超市买生抽,但去了工厂。

结构性:ABCDFFP (首字母)

行为性:xxx(自己记xxx)

注意:适配器: 属于结构性模式,存在适配器类模式和适配器对象模式!

1.1 创建型

1.1.1 Product Method(工厂方法) 类模式

关键词Product

1.1.2 Abstract Factory(抽象工厂模式)
1.1.3 Builder(生成器模式)
1.1.4 Prototype(原型模式)
1.1.5 Singleton(单例)

1.2 结构性模式

1.2.1 Adapter(适配器) 类模式
1.2.3 Bridge(桥接)
1.2.4 Composite(组合)
1.2.5 Decorator(装饰器)
1.2.6 Facade(外观)
1.2.6 Flyweight(享元)
1.2.7 Proxy(代理)

1.3 行为设计模式

1.3.1 Chain of Responsibility ( 责任链**)**
1.3.2 Command(命令)
1.3.3. Interptreter(解释器)类模式
1.3.4 Iterator(迭代器)
1.3.5 Mediator(中介者)
1.3.6 Memento(备忘录)
1.3.7 Observer(观察者)
1.3.8 State(状态)
1.3.9 Strategy (策略)
1.3.10 Template Method(模板方法) 类模式

2. 算法设计

2.1 回溯法

经典例子:N皇后的问题

注意不能在同一行,不能在斜线上,

假如使用一维数组表示第I行位置的位置Qi, j作为下一行的位置

判断同一行的话就是Qi == Qj

判断同一斜线:abs(i-j) == fabs(Qi-Qj)

2.2 分治法

常常使用到递归;

经典例子:阶乘,归并排序 , 硬币查真假

递归排序算法

时间复杂度O(nlog2n)

空间复杂度O(n)

硬币查真假问题

2.3 动态规划

经典例子:0-1 背包问题

矩阵连乘

最长公共子序列

0-1背包,时间复杂度:O(NW) N是价值,W是重量

0-1背包,空间复杂度:O(NW)

相关推荐
无心水20 小时前
6、软件工程 核心考点与学习笔记
笔记·学习·软件工程·软考高级·架构师·软考·软考系统架构设计师
无心水21 小时前
5、信息安全技术基础知识 核心学习笔
人工智能·学习·软考高级·架构师·软考·高级架构师·软考架构师
无心水1 天前
8、系统架构设计基础知识 核心考点与学习笔记
笔记·学习·系统架构·架构师·软考·软考架构师·软考高级架构师
Misnearch3 天前
第7章 面向对象技术
java·开发语言·软考
鱼头研学社8 天前
在职备考高项报班避坑:“客服说加微信发报价“到“官网自助下单“,中间差了啥
项目管理·软考·高项·备考
张张123y14 天前
软考中级软件设计师备考全指南:考法拆解 + 真题示例 + 网课推荐(2026 版)
备考·408·软件设计师·软考中级·职称·计算机职称 证书
ksfdh_117 天前
软考中级——软件设计师考点11 网络攻击和对应真题
软件设计师·软考中级
zlp199217 天前
软考(系统架构师)-案例分析之大模型ReAct与Plan-and-Execute
软考高级·软考·系统架构师·软考备考
我是胡杨学长18 天前
软考考务冷知识 Vol.1:北京考区明确,雷同答卷直接成绩无效
项目管理·职场·软考·信息系统项目管理师·系统集成项目管理工程师
_默_18 天前
软考中级—软件评测师 备考笔记:程序设计语言基础
软考·软考中级·评测师