摘要: 装饰模式概述 定义:动态地给一个对象增加一些附属的职责。 装饰装饰,自然的理解就是在原有物品的基础上,增加一些别的东西,让它变得更令人满意。且装饰模式是在不改变对象本身的基础上就行额外的增加,更加灵活。 比如买房,首先买的是个空房,随后我们会放进去家具,和各种生活中要用的东西,让这个家变得更有家的味 阅读全文
posted @ 2019-05-11 18:15 回忆酿的甜 阅读(535) 评论(0) 推荐(1) 编辑
摘要: 组合模式概述 定义:组合多个对象形成树形结构以表示具有部分-整体关系的层次结构。组合模式让客户端可以统一对待单个对象和组合对象。又被成为“部分-整体”(Part-Whole)模式,属于对象结构性模式 定义什么的,最枯燥了。简单的来说,就如我们鼠标右击新建文件夹一样,在一个磁盘里,我们可以新建一个文件 阅读全文
posted @ 2019-05-06 15:10 回忆酿的甜 阅读(843) 评论(0) 推荐(0) 编辑
摘要: 诚实者与说谎者 问题是:请你告诉我,另一个人的答案哪一个?分析如下: 所以无论第一个问的人是诚实的还会说谎的,得到的答案都是错误的那个门,所以正确的门马上就能知道了 海盗分金问题 (97,0,1,2,0)或(97,0,1,0,2) 这题是比较有意思的,当初的我天真的以为5人平均分,1人20就共同生存 阅读全文
posted @ 2019-04-30 21:03 回忆酿的甜 阅读(3047) 评论(1) 推荐(2) 编辑
摘要: 桥接模式概述 定义:将抽象部分与它的实现部分解耦,使得两者都能够独立的变化 就拿我们日常使用的蜡笔来说,蜡笔有不同的大小和颜色,所以我们往往买的蜡笔盒中会有不少的蜡笔。需要用哪个就用哪个,是不是很方便???然而毛笔却不是这样,毛笔分为不同大小,却只有一个调色盘,里面装着不同的颜料。我们需要什么用到什 阅读全文
posted @ 2019-04-27 14:48 回忆酿的甜 阅读(1182) 评论(0) 推荐(0) 编辑
摘要: 适配器模式概述 定义:将一个类的接口转化成客户希望的另一个接口,适配器模式让那些接口不兼容的类可以一起工作。别名(包装器[Wrapper]模式) 它属于创建型模式的成员,何为创建型模式:就是关注如何将现有类或对象组织在一起形成更大的结构。由于系统中存在类和对象,所以存在两种结构型模式:类结构型模式( 阅读全文
posted @ 2019-04-26 22:51 回忆酿的甜 阅读(1586) 评论(1) 推荐(0) 编辑
摘要: 原型模式概述 定义:使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象。简单的来说就是克隆(Clone),通过已经存在的,将其复制而产生新的。原型模式属于创建型模式,将一个原型对象传给要发动创建的对象(客户端对象),该对象通过请求原型对象复制自己来实现创建过程。 既然是通过Clon 阅读全文
posted @ 2019-04-20 23:33 回忆酿的甜 阅读(1991) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂模式概述 定义:提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类 抽象工厂抽象工厂,顾名思义,就是比工厂模式更抽象的工厂模式。在工厂模式中,一个具体工厂只负责生产一个具体产品。而在抽象工厂模式中,一个具体工厂可以生产一组相关的产品,这些产品称为产品族,产品族中的每一个产品部 阅读全文
posted @ 2019-04-14 23:22 回忆酿的甜 阅读(1050) 评论(0) 推荐(0) 编辑
摘要: 单例模式概述 定义:确保一个类只有一个实例,并提供一个全局访问点来访问这个实例 简单的说,就是你有且只有一个女朋友(有多个女朋友的模式不是这里~~),并且你的女朋友很特殊,从来只听你的话,所以别人想和她交流(访问她)就必须通过你(全局访问点)来和她交流。 系统中用到单例模式的地方很多,比如Windo 阅读全文
posted @ 2019-04-10 23:27 回忆酿的甜 阅读(768) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式概述 工厂方法模式是为了弥补简单工厂模式的不足并且继承它的优点而延生出的一种设计模式,属于GoF中的一种。它能更好的符合开闭原则的要求。 定义:定义了一个用于创建对象的接口,但是让子类决定将哪一个类实例化。即让类的实例化延迟到子类 举个例子:大众汽车公司想必大家都不陌生,它旗下也有不少汽 阅读全文
posted @ 2019-04-07 23:30 回忆酿的甜 阅读(4331) 评论(0) 推荐(2) 编辑
摘要: 简单工厂模式概述 简单工厂模式的结构与实现 结构: 实现 1 abstract class Product 2 { 3 public void MethName() 4 { 5 //公共方法的实现 6 } 7 public abstract void MethodDiff(); 8 //声明抽象业务 阅读全文
posted @ 2019-04-04 00:01 回忆酿的甜 阅读(35213) 评论(4) 推荐(2) 编辑
摘要: 模式的诞生与定义 -Context(模式可适用的前提条件)-Theme或Problem(在特定条件下要解决的目标问题)-Solution(对目标问题求解过程中各种物理关系的记述) 设计模式的分类 GoF设计模式 创建型模式(关注对象的创建过程,对类的实例化过程进行抽象,描述如何将对象的创建和使用分离 阅读全文
posted @ 2019-04-03 15:50 回忆酿的甜 阅读(1723) 评论(0) 推荐(1) 编辑
摘要: [转]为什么复制构造函数的参数需要加const和引用 一.引言 1.0在解答这个问题之前,我们先跑个小程序,看下调用关系。 1.1【输出结果】 1.2【分析结果】 第一个输出: constructor with argument. //CExample aaa(2); 这里创建了变量aaa,在创建的 阅读全文
posted @ 2019-02-02 10:59 回忆酿的甜 阅读(772) 评论(0) 推荐(0) 编辑
摘要: 生存期,即从诞生到消失的时间段,在生存期内,对象的值或保持不变,知道改变他的值为止。对象生存期分为静态生存期和动态生存期两种。 静态生存期 指对象的生存期与程序运行期相同。在namespace中声明的对象都具有静态生存期。但是,在函数内部作用域中声明具有动态生存期的对象,要用static修饰,如st 阅读全文
posted @ 2019-01-29 12:29 回忆酿的甜 阅读(1409) 评论(0) 推荐(1) 编辑
摘要: 我们都知道,队列是一种FIFO的数据结构,规定在队尾增加元素,在队首删除元素,和食堂排队打饭一个道理。(当然,插队的人是很鄙视的)。而在优先队列中,每个元素却有了特权,被赋予了优先级,从而在访问元素时,优先级高的最先出队(如有特权的军人则可以率先购票,就是这个道理)。 对PQ的操作有Search,I 阅读全文
posted @ 2019-01-22 18:26 回忆酿的甜 阅读(1125) 评论(0) 推荐(1) 编辑
摘要: ASL(Average Search Length),即平均查找长度,在查找运算中,由于所费时间在关键字的比较上,所以把平均需要和待查找值比较的关键字次数称为平均查找长度。 它的定义是这样的: 其中n为查找表中元素个数,Pi为查找第i个元素的概率,通常假设每个元素查找概率相同,Pi=1/n,Ci是找 阅读全文
posted @ 2019-01-08 15:42 回忆酿的甜 阅读(89084) 评论(10) 推荐(27) 编辑
摘要: 简介 BFS的过程是首先访问起始结点v,接着访问顶点v的所有未被访问的邻接结点,然后对每个继续进行上述步骤,直到所有结点都被访问过为止,当然,在访问过程中,需要使用一个队列,然后类似二叉树的层次遍历来访问。 BFS通俗的来讲,就如通病毒扩散一般蔓延。往往采用BFS求解迷宫问题的入口到出口的最短路径。 阅读全文
posted @ 2019-01-01 21:57 回忆酿的甜 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 问题描述:一个带权有向图G与源点v,求从源点v到G中其他顶点的最短路径,并限定各边权值大于0 它的思想在于,对顶点集划分为两组,第一组为已经求出的最短路径的集合(S),期初只有一个顶点,此后每求出一个最短路径v,....u,将顶点u加入集合S中,知道全部顶点U加入到S中,第二组即为未确最短路径的顶点 阅读全文
posted @ 2019-01-01 21:25 回忆酿的甜 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 简介 DFS的过程是一个递归过程,它是从图中的某个顶点开始,首先访问起始点v,然后选择一个与顶点v相邻的且没有被访问的顶点w,以w为起始顶点,在进行DFS,直到图中所有与v相邻的顶点都被访问过为止。 访问过程中,须记录所有元素是否被访问过,可用全局数组记录编号,初始为0,已经访问为1。 往往采用DF 阅读全文
posted @ 2019-01-01 20:51 回忆酿的甜 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 运算结果 阅读全文
posted @ 2018-11-27 21:57 回忆酿的甜 阅读(677) 评论(0) 推荐(0) 编辑
摘要: 运算结果 阅读全文
posted @ 2018-11-26 23:19 回忆酿的甜 阅读(1217) 评论(0) 推荐(0) 编辑
Live2D