bin-mu的专栏

努力奔跑的人运气都不会差!

疯狂九大排序及其详解

排序算法是我们最常用的算法,之前听牛客大牛左大神讲解后自己详细的整理了一遍,感觉比以前学的深刻很多。下面共享给大家 九大经典排序算法是面试必备的算法知识。九大算法可以根据时间复杂度、空间复杂度、稳定性有不同的划分。本文先基于时间复杂度对九类经典排序算法进行简要介绍和其代码实现。其中会夹杂稳定性和...

2016-10-13 15:54:55

阅读数 551

评论数 0

适配器和外观模式

适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间 适配器模式在我们显示生活中很常见。比如你在Hong Kong买了个Iphone6手机,你会发现它的标配送的充电器居然是三孔大的充电接口,但是内地没有这种借口的啊。 这时候你就需要适配器将这种借口进行...

2016-07-30 10:51:46

阅读数 213

评论数 0

二叉查找树(二叉排序树)BST解析

二叉排序树又名二叉查找树,不同于普通的二叉树,该形式可以使二叉树有序,使其左孩子一定小于该节点值,右孩子一定大于该节点值,于是其中序遍历便是一个递增的数列。同时故其查找效率为O(lgN)即二叉树的高度。 下面首先介绍下BST树的查找算法。 BST树查找很简单,首先根节点,如果比该节点值...

2016-07-29 16:36:21

阅读数 780

评论数 0

命令模式

在我们编程应用中或者生活之中。我们希望用一个统一的遥控器,这个遥控器可以对家电进行统一的off和on操作,但是这些遥控器却不需要知道这些家电自动化的细节。 命令模式可以将“动作的请求者”从“动作的执行者”对象中解耦。请求者为遥控器,执行者为家电。 做法是把请求封装成一个特定的对象(如电灯对象)...

2016-07-29 10:57:56

阅读数 234

评论数 0

单例模式

单例模式的引入。在我们的系统开发之中。我们会有一些对象其实是我们只需要一个。比如:线程池,注册表,缓存等。事实上这些对象只能有一个实例,如果制造出多个实例,就会导致诸多问题如程序行为异常、资源使用过量 首先最简单的单例的实现,我们可以通过将构造器私有化来限制对象的创建,同时提供统一的访问点。下面...

2016-07-28 08:22:23

阅读数 138

评论数 0

工厂方法模式

前一章写了工厂模式,该模式将创建与对象本身业务处理分离了,可以降低系统的耦合度,使得两者修改起来都相对容易些。当以后实现改变时,只需要修改工厂类即可。 但是这种工厂模式,提供的创建都是单一的创建,比如pizza那个例子,如果每个pizza店想创建自己风格的pizza的话,那么工厂模式便无法提供这...

2016-07-27 09:58:03

阅读数 167

评论数 0

工厂模式

设计模式原则之中有一点是不应该针对实现编程,但是每次new的时候实际就是针对实现编程。 针对实现编程会带来很多问题,会使代码更脆弱,缺乏弹性。如 Person p; if(sex="男人") p=new Man(); else p=new Woman(); 如果改天...

2016-07-27 09:46:00

阅读数 173

评论数 0

KMP字符串匹配算法解析

kmp算法为非常经典的字符串匹配算法。下面先讲解下最原始的字符串匹配方法,也就是暴力求解。时间复杂度为O(m*n) 下面举个例子讲解下暴力大法 如  12314123123b   match为123123 首先从第一个位置str[0]开始依次与match开始进行比较 str的第0、1、2、...

2016-07-26 09:07:02

阅读数 1105

评论数 0

观察者模式

观察者模式是非常实用的一种设计模式。他可以降低对象之间的耦合度,实现松耦合。 比如我们编程中,如果你的一个对象获得了一个数据,他要将这个数据通知很多别的对象,让那些对象实现数据的更新。最简单的方法如下: T1 t1=new T1(); T2 t2=new T2(); T3 t3=new T...

2016-07-22 17:00:30

阅读数 196

评论数 0

NYOJ35-表达式求值(逆波兰式)java

表达式求值 描述 ACM队的mdd想做一个计算器,但是,他要做的不仅仅是一计算一个A+B的计算器,他想实现随便输入一个表达式都能求出它的值的计算器,现在请你帮助他来实现这个计算器吧。 比如输入:“1+2/4=”,程序就输出1.50(结果保留两位小数) 输入第一行输入一个...

2016-05-23 18:52:50

阅读数 1977

评论数 0

分类找单词集的变位词集java

题目:给定一本英语单词词典,请找出所有的变位词集。例如,因为“pots”, “stop”,“tops”相互之间都是由另一个词的各个字母改变序列而构成的, 因此这些词相互之间就是变位词。 String str[]={"fsda","stop","...

2016-04-04 09:00:34

阅读数 435

评论数 0

后缀求可重叠最长重复子串

假设我们有这样的字符串及数组: String str="banana"; boolean flag[]=new boolean[str.length]; flag为后缀数组,用于标记子串位置 for(int i=0;i<str.length;i++) ...

2016-04-03 20:32:26

阅读数 355

评论数 0

Maven新建项目报错

报错:Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of its dependencies could not be resolved: Fai...

2016-04-01 15:06:53

阅读数 1143

评论数 0

java设计模式——装饰者模式浅析

帮同学做试卷发现有个编程题居然让用Decorator来写,以前只接触过简单的设计模式,现在有时间准备好好认真学习一下设计模式。如果你只会code那么你永远都只是code,如果你会设计模式和算法那么你绝不单单只能做code。   装饰设计模式简单的说来就是为了动态的增加已有类的功能。有些人也许会说增...

2015-12-20 17:46:03

阅读数 403

评论数 0

JAVA中子窗口关闭,父窗口也关闭的问题

在编程之中,碰见的一个问题,感觉很简单,但是却由于那点知识的欠缺才会出错。 我碰见的有两种情况子窗口关闭导致父窗口也关闭!下面简单介绍一下。。 一种是常规的,java原装类库引起的最常见的: import java.awt.event.ActionEvent; import java.awt...

2015-04-04 08:00:15

阅读数 3625

评论数 0

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