
dataStructure
文章平均质量分 59
快乐程序猿
这个作者很懒,什么都没留下…
展开
-
Java实现二分查找
/** * 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好; * 其缺点是要求待查表为有序表,且插入删除困难。 * 因此,折半查找方法适用于不经常变动而查找频繁的有序列表。 * @author gulijiang * */public class BinarySearch { public static void main(String[] args) {原创 2013-05-23 16:51:25 · 499 阅读 · 0 评论 -
Java实现二叉树
public class BinaryTree { static class BinaryNode{ private T element; private BinaryNode left; private BinaryNode right; public BinaryNode(T element){ this(element,null,null)原创 2013-05-24 17:17:04 · 414 阅读 · 0 评论 -
动态代理
1.有个抽象对象(可以是接口可以是抽象类)public interface Subject { public void request(); public void test(); }2.有个真实对象实现抽象对象类public class RealSubject implements Subject{ @Override public void request原创 2013-06-09 14:52:56 · 403 阅读 · 0 评论 -
静态代理模式
1.抽象角色:声明真实对象和代理对象的共同接口 Subject类2.代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时可以操作真实对象的前后加上自己的一些操作。ProxySubject3.真实角色:代理角色代表的真实对象,是我们最终要应用的对象 RealSubject抽象类:Subjectpublic abstract class Subjec原创 2013-06-08 17:23:29 · 475 阅读 · 0 评论 -
观察者模式
1.抽象主题角色(接口或者抽象类)/** * 抽象主题角色 * 主题角色把所有的观察者对象的引用保存在一个列表里; * 每个主题都可以有任何数量的观察者。 * 主题提供一个接口可以加上或撤销观察者对象;主题角色又叫做抽象被观察者(Observable)角色 */public interface Watched { public void addWatcher(Watcher原创 2013-06-14 09:52:20 · 390 阅读 · 0 评论 -
装饰模式
1. 概念动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。[由于继承的静态特质使其缺乏灵活性;且随着子类的增多、组合,会导致更多子类的膨胀。类应设计的对扩展开放,对修改关闭。装饰的意思:就是包装一下。把另的对象包装一下。]2. UML图3.代码/** * 一个容器 * @a原创 2013-06-21 10:18:06 · 428 阅读 · 0 评论