尝试设计一套特质,灵活的改动整数队列。队列有两种操作:put把整数放入队列,get从尾部取出它们。队列是先进先出的,get应该依照入队列的顺序取数据。提示:可以用mutable.ArrayBuffer 模拟队列在报告中体现出类的线性化特性,要求扩展类实现如下三个功能1.Doubling 把放到队列中 ...
分类:
其他好文 时间:
2017-11-12 17:24:23
阅读次数:
192
一、创建型模式 抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类. 生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤构造. 将一个复杂对象的构建与它的表示分离, ...
分类:
编程语言 时间:
2017-11-09 14:30:18
阅读次数:
169
题意 : 给出 n 个模式串,最后给出一个主串,问你主串打乱重组的情况下,最多能够包含多少个模式串。 分析 : 如果你做过类似 Trie图 || AC自动机 + DP 类似的题目的话,那么这道题相对之前的对于主串的“构造”过程加上了一个限制,那就是字符的元素的有限制的,那么DP的状态就不能用长度来表 ...
分类:
其他好文 时间:
2017-10-12 01:02:24
阅读次数:
207
意图 意图 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以表示不同的表示。 适用性 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 当构造过程必须允许被构造的对象有不同的表示时。 UML图 Builder ——为创建一个Product对象的各个部件指定抽象接口。 C ...
分类:
其他好文 时间:
2017-09-11 23:03:07
阅读次数:
190
1.封装的概念 广义定义:类和方法本身就是封装的体现 狭义定义:一个类的某些属性,如果不希望外界直接访问,就可以将这个属性作为私有的【只有当前类持有】,然后暴露给外界一个访问的方法 封装的本质:属性私有化的过程 举例:插排 私有化在Java中使用private关键字来实现 2.private关键字的 ...
分类:
编程语言 时间:
2017-08-20 12:33:01
阅读次数:
146
一、 C4.5 C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3 算法. C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进: 1) 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足; 2) 在树构造过程中进行剪枝; 3) 能够完 ...
分类:
编程语言 时间:
2017-08-07 22:18:06
阅读次数:
264
Buileder(生成器)—对象创建型模式 一 意图 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 二 适用性 在以下情况使用Build模式: 1 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 2 当构造过程必须允许被构造的对象有不同的表示时。 ...
分类:
其他好文 时间:
2017-07-24 00:02:35
阅读次数:
141
这篇博客是关于机器学习中的决策树算法,内容包括决策树算法的构造过程,使用matplotlib库绘制树形图以及使用决策树预测隐形眼睛类型. ...
分类:
编程语言 时间:
2017-07-13 14:25:45
阅读次数:
202
哈希表查找和哈希表的构造过程基本一致,见下图 哈希表插入和查询的例子(先省略) (1)哈希表虽然建立了关键字和记录的存储位置之间的映射关系,但是由于冲突,导致是一个多对一的映射, 所以,哈希表的查找效率是平均查找长度; (2)查找过程中徐鹤给定值进行比较的关键字的个数取决于三个因素:哈希函数,处理冲 ...
分类:
其他好文 时间:
2017-07-01 21:49:41
阅读次数:
201
设计模式之建造者设计模式(也叫生成器模式) 建造者模式就是将一个复杂对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示 1:使用建造者模式的话,它封装了一个产品的构造过程,并且允许按照预定的步骤构造产品。同时,向客户端隐藏了产品的内部表现 2:一般产品类和建造者类是比较稳定的,因此,将主 ...
分类:
其他好文 时间:
2017-07-01 17:26:05
阅读次数:
137