`
文章列表
一、 并查集: (union-find sets)     一种简单的用途广泛的集合. 并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多,如其求无向图的连通分量个数等。最完美的应用当属:实现Kruskar算法求最小生成树。   并查集的三种操作 : 1 、Make_Set(x) 把每一个元素初始化为一个集合 初始化后每一个元素的父亲节点是它本身,每一个元素的祖先节点也是它本身(也可以根据情况而变)。 2 、Find_Set(x) 查找一个元素所在的集合 查找一个元素所在的集合,其精髓是找到这个元素所在 ...
         《编程之美》 2.19 解法二需要在一个数组 arr[] 中找到最后一个≤ value 的值,可以顺序查找,也可以使用二分查找。但标准的二分查找用来查找 =value 的值,因此这里需要改造一下:     1.   标准二分查找: 注意:退出原因有两个——“ arr[mid]==value ,即找到” 或者 “ l==r 且仍未找到” (这个版本代码根据《编程珠玑》) private static void find(int[] arr, int value){ int l=0,r=arr.length-1; int mid=(l+r ...
   享元模式——Flyweight 1. 概念       享元模式 (Flyweight ,轻量级选手 ) 就是利用可共享对象的池。因而,通常用到 Factory ,称为 Flyweight Factory 享元工厂 。 (Sam)     将对象定义为不可变 (immutable) ...

联合概率

  Combining Probabilities Suppose that Mr. Smith, who is correct 75% of the time, claims that a certain event X will NOT occur. It would seem on this basis that the probability of X ocurring is 0.25. On the other hand, Mr. Jones, who is correct 60% of the time, claims that X WILL occur. Give ...

泰勒公式与人生

    如果一个函数如果可以用等号后面的东西表示出来的话,那么这个函数就是说,可以用泰勒展开式的方法展开来的。     在人类历史上,人类对泰勒展开式的兴趣之所以那么高,完完全全是因为(x-a)的n次方,(x-a)的n ...
Bayes过滤器 贝叶斯推断及其互联网应用(一) http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_one.html 贝叶斯推断及其互联网应用(二) http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_two.html 难点: 1. P(E1)=P(S|W1)P(S|W2)P(S)怎么来的: 1.1 参见文章——数学(概率)/联合概率 P(E1)事实上是个后验概率,而P(E1)=P(S|W1)P(S|W2)P(S)基于两个假设—— S|W ...
这是一个自动售货机的部分UseCase图:   注意: 一、解释途中Restock 和 Collect的含义: 1. Restocking a soda machine 2. Collecting the money from a soda machine. 二、Inclusion和Extension 1. Inclusion the “Restock” use case would be <<include>> (expose the inside). 2. Extension 扩展:The new use case is said to exten ...
1. 两种关联关系的特例:       1)  聚合 Aggregation —— Aggregation: b can live without its context (object of A). ============================================ ==C++== class B{     B* b; } ==java== class B{     B b;     public A(B b){        this.b = b;     } }     聚合是整体与部分、拥有的关 ...
一、使用抽象工厂和工厂方法 Factory Method Pattern工厂方法  和  Abstract Factory Pattern抽象工厂  是两种不同的设计模式。《Java设计模式》书上给出了如下定义,但是Sam觉得有点问题,在网上找了找资料,在后文将给出我自己的理解。   Factory Method Pattern   P167     The intent of Factory Method is to let a class developer define the interface(统一接口) for creating an object while ...
public class Singleton { private static Singleton instance; private Singleton(){} public static Singleton getInstance(){ if(instance==null){ instance=new Singleton(); }else{ } return instance; } public void fun(){ ...
观察者模式—— Observer       本系列文章中, State 模式的第一种实现方法 (switch 实现 state 转化 ) 将旋转门类 Door 作为 Observable 的子类,就采用了 Observer 模式。配套还应该实现 Observer 接口来支持对 Door 实例 ...
适配器模式 —— Adaptor(Adapter)   注意 :  Adapto r ,也作 Adapte r   一、定义及架构     Adaptor( 别名 Wrapper) 模式:将一个类的接口,转换成客户期望的另一个类的接口。适配器器让原本接口不兼容的类 ...
1. 概述     The intent of the STATE pattern is to distribute state-specific logic across classes that represent an object’s state.     STATE 设计模式的目的 是:将特定状态相关的逻辑分散到一些类的状态类中。   2. 实例     旋转门: Consider the model of the state of a carousel door(revolving door). ...
装饰者模式—— Decorator          有时间还是看一下《 Java 设计模式》,临近期末,为了节省时间我直接找了一些资料总结了一下。   1. Decorator 好处 / 目的 :          A. 如果使用继承 实现功能扩展:          我们通常使用继承来实现功能扩展,随着这些需要扩展的功能的增多,扩展功能的组合会导致更多的子类的膨胀。          同时,使用继承实现功能的扩展,我们必须可预见这些拓展功能,这些功能编译时就确定了,是静态的。          ...
1. Composite 定义 :          将对象以树形结构组织起来,以达成“部分 - 整体”的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。          想到 Composite 就应该想到树形结构图。组合体内这些对象都有共同接口。当组合体一个对象的方法被调用时, Composite 将遍历整个“子树”,寻找同样包含这个方法的对象执行之。          类似 Chain of Responsibility 模式(责任链)。   2. Composite 好处 (目的 ):       ...
Global site tag (gtag.js) - Google Analytics