自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (4)
  • 收藏
  • 关注

私人定制的建造者模式(Builder Pattern)

在模板方法模式中,我们知道了如何通过模板批量的制作Hummer,但你会发现Hummer的start,stop,alarm,enginBoom这四个动作都是按固定顺序进行的。那么如果现在要制作任意顺序动作的Hummer该如何设计呢?比如说我现在制作A类型HummerH1,它先启动,后停止,就这两个动作。B类型HummerH2,它先启动,后鸣笛,最后停止。A类型HummerH2,先启动,后有引擎声。...

2014-03-28 14:57:29 143

python实现数据的多维缩放(集体智慧编程)

多维缩放可以为数据集找到一种二维表达形式。算法根据每对数据项之间的差距情况,尝试绘制出一幅图来,图中的各数据项之间的距离远近,对应于它们彼此间的差异程度。 以分类聚集算法中的数据为例第一步:计算所有数据项两两间的实际距离(可参考皮尔逊算法或欧几里德算法)第二步:将数据项随机放置在二维图上。第三步:针对每两两构成的一对数据项,将它们的实际距离与当前在二维图上的距离进行比较,求出...

2014-03-27 17:26:18 892

不明觉厉的模板方法模式(Template Method Pattern)

啥是模板方法模式?好像很厉害的样子。 现有两种车,悍马H1和悍马H2,对它们进行测试,需要开动,停止,鸣笛,引擎声。这两车有四个相同的动作,但是动作的内容不同,最后的测试执行这四个动作,就是说测试是相同的。那我们这么设计如何?这就是模板方法模式,是不是超简单! <?phpabstract class HummerModel { protected abstra...

2014-03-27 10:21:04 156

富足的抽象工厂模式(Abstract Factory Pattern)

如果把工厂方法模式看作是小厂的作风,那抽象工厂模式绝对是土豪,因为它具有多个业务品种,工厂富足了! 抽象工厂模式的官方定义为:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类。 抽象工厂模式是工厂方法模式的升级版本,在有多个业务品种、业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。在工厂模式的例子中,可以出产出超级用户和普通用户,如果现...

2014-03-26 11:21:54 100

苦逼的工厂模式(Factory Method Pattern)

提到工厂,流水线的工作,不停的重复重复着,真是比我们码农还苦逼。 工厂模式使用的频率也是非常高,它的官方解释为:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂模式使一个类的实例化延迟到其子类。  如图所示,系统中有超级用户与普通用户两种,定义一个公共接口User类,定义一个公共抽象工厂类abstractUserFactory,userFactory类通过继承abst...

2014-03-25 10:45:48 83

自私的单例模式(Singleton Pattern)

说到单例模式,肯定觉得简单啊,不就只有一个实例嘛,自私的家伙。确实很简单,但是现在我有几个问题1.单例模式有什么好处?2.单例模式有什么缺点?3.什么情况下适合用单例模式?4.如果我想只有两个实例,怎么办?  一。优点:1.由于单例模式在内存中只有一个实例,减少内存开支,特别是一个对象需要频繁地创建、销毁时,而且创建或销毁时性能又无法优化,单例模式的优势就非...

2014-03-20 11:39:31 79

K-均值聚类算法(集体智慧编程)

上篇博客中讲到的分级聚类算法为我们返回了一棵形象直观的树,但是这个方法有两个缺点。1.在没有额外的投入的情况下,树形视图是不会真正将数据拆分成不同组的。2.该算法的计算量非常惊人,因为我们必须计算每两个配对项之间的关系,并且在合并项之后,这些关系还得重新再计算,所以在处理很大规模的数据集时,该算法的运行速度会非常缓慢。 K-均值聚类完全不同于分级聚类,因为我们会预先告诉算法希望...

2014-03-18 15:11:57 181

设计模式六原则

一、单一职责原则(SRP)SRP原话解释:There should never be more than one reason for a class to change.好处:1.类的复杂性降低,实现什么职责都有清晰明确的定义。2.可读性提高。3.可维护性提高。4.变更引起的风险降低。变更是必不可少的,如果接口是单一职责做得好,一个接口修改只对相应的实现类有影响,对其...

2014-03-17 20:37:06 116

分级聚类算法(集体智慧编程)

分级聚类是通过连续不断地将最为相似的群组两两合并,来构造出一个群组的层级结构。其中的每个群组都是从单一元素开始的。如图所示:元素的相似程序是通过它们的相对位置来体现的,距离越近越相似。两两合并,直到合并最后两个群组。 聚类是无监督学习的一个例子。与神经网络或决策树不同,无监督学习算法不是利用带有正确答案的样本数据进行“训练”。它们的目的是要在一组数据中找寻某种结构,而这些数据本身不...

2014-03-10 11:51:32 316

加权平均算法(集体智慧编程)

加权平均是这样一类求平均的运算:参与求平均运算的每一个观测变量都有一个对应的权重值。加权平均的计算公式如图: 其中的x1....xn是观测变量,w1....wn是权重值。 我们现将其利用在影片的推荐。 我们可以查找与自己口味最为相近的人,并从他所喜欢的影片中找出一部自己还未看过的影片,不过这样做太随意了。有时,这种方法可能会有问题:评论者还未对某些影片做过评论,而这些影片也许...

2014-03-05 16:48:49 856

皮尔逊相关系数评价算法(集体智慧编程)

皮尔逊相关系数是比欧几里德距离更加复杂的可以判断人们兴趣的相似度的一种方法。该相关系数是判断两组数据与某一直线拟合程序的一种试题。它在数据不是很规范的时候,会倾向于给出更好的结果。 如图,Mick Lasalle为<<Superman>>评了3分,而Gene Seyour则评了5分,所以该影片被定位中图中的(3,5)处。在图中还可以看到一条直线。其绘制原则是尽...

2014-03-03 16:34:46 541

欧几里德距离评价算法(集体智慧编程)

欧几里德距离是指多维空间两点间的距离,这是一种用直尺测量出来的距离。如果将两个点分别标记为(p1,p2,p3....pn)和(q1,q2,q3.....qn),则欧几里德距离的计算公式为:  欧几里德距离评价算法是一个非常简单的计算相似度评价值的方法。它以经过人们一致评价的物品为坐标轴,然后将参与评价的人绘制到图上,并考查他们彼此间的距离远近。如图:该图显示了处于“偏好空间”中...

2014-03-03 14:37:32 807

postgresql9.0中文手册

postgresql9.0的中文chm手册,实用不解释

2014-01-04

C++东南大学何洁月课件(总).ppt

C++东南大学何洁月课件(总).ppt,c++必看教程

2012-03-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除