gubojun的专栏

^_^ 顾博君

数据结构-归并排序

java实现归并排序算法 源代码 public class MergeSort extends DataCrol { // 合并两个已排好序的数组A[left...mid]和A[mid+1...right] void merge(int A[], int left, int...

2018-03-07 15:29:31

阅读数 268

评论数 0

数据结构-快速排序

java实现快速排序 源代码 public class QuickSort extends DataCrol { /** * 优化 * * @param array * @param left * @param right ...

2018-03-07 15:28:18

阅读数 85

评论数 0

数据结构-希尔排序

java实现希尔排序算法 源代码 public class ShellSort extends DataCrol { @Override public void sort(int[] array) { int h = 0; int size ...

2018-03-07 15:26:51

阅读数 103

评论数 0

数据结构-堆排序

java实现堆排序算法 源代码 public class HeapSort extends DataCrol { private void heapify(int A[], int i, int size) { // 从A[i]向下进行堆调整 int leftCh...

2018-03-07 15:25:00

阅读数 76

评论数 0

DFS,BFS 深度优先遍历,广度优先遍历

java实现DFS,BFS算法 源代码 图的结构java实现 public class DFSAndBFS { /** * BFS 只能遍历连通图 * * @param graph 图 * @param i 起始访问下标 ...

2018-03-07 15:21:46

阅读数 138

评论数 0

Prim(最小生成树)

java实现Prim算法 源代码 图的结构java实现 Prim需要图是连通图,生成的图一定是一棵树,而Kruskal可能生成森林 Prim public class Prim { private static final int INF = Integer.MAX_VALU...

2018-03-07 15:18:44

阅读数 53

评论数 0

Kruskal(最小生成树)

java实现Kruskal算法 源代码 图的结构java实现 Kruskal public class Kruskal { private static final int INF = Integer.MAX_VALUE; /** * 初始化距离矩阵 ...

2018-03-07 15:12:58

阅读数 51

评论数 0

Floyd(多源最短路径)

java实现Floyd算法 源代码 图的结构java实现 Floyd public class Floyd { private static int INF = Integer.MAX_VALUE; public static void floyd(GraphMatr...

2018-03-07 15:09:43

阅读数 247

评论数 0

Dijkstra 单源最短路径

java实现Dijkstra算法 源代码 图的结构Java实现 Dijkstra public class Dijkstra { private static final int INF = Integer.MAX_VALUE; /** * 初始化距离矩阵 ...

2018-03-07 15:06:19

阅读数 85

评论数 0

数据结构-图

java实现图的数据结构 源代码 图的顶点,Vertex public class Vertex<E> { //到该顶点的边列表 List<Edge> edgeList = new Arr...

2018-03-07 14:56:22

阅读数 50

评论数 0

设计模式--解释器模式

Java工程源码 类图 定义 给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表 示来解释语言中的句子 优点 - 扩展性好,修改语法规则只要修改相应的非终结符表达式就可以了 缺点 - 容易引起类膨胀。每个语法都要产生一个非...

2017-12-29 14:29:16

阅读数 115

评论数 0

设计模式--中介者模式

Java工程源码 类图 定义 用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互 – 优点 - 减少类间的依赖,把原有的一对多的依赖变成了一对一的依赖,降低了类间耦合性 – 使用场景 ...

2017-12-28 19:01:13

阅读数 254

评论数 0

设计模式--访问者模式

Java工程源码 类图 定义 封装一些作用于某种数据结构中的各元素操作,它可以在不改变数据结构的前提下 定义作用于这些元素的新的操作 优点 - 符合单一职责原则 Element子类和visitor职责分离 - 优秀的扩展性 - 灵活性非常高 ...

2017-12-28 18:37:28

阅读数 87

评论数 0

设计模式--状态模式

Java工程源码 类图 定义 当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类 优点 - 结构清晰 - 遵循设计原则。很好的体现了开闭原则和单一职责原则 - 封装性非常好 缺点 - 子类会很多,每个状态都有一个子类 使...

2017-12-28 18:10:10

阅读数 76

评论数 0

设计模式--备忘录模式

Java工程源码 类图 定义 在不破坏封装性的前提下,捕获一个对象内部状态,并在该对象之外保存这个状态。 这样以后就 可将该对象恢复到原先保存的状态 使用场景 - 需要保存和恢复数据的相关状态场景 - 提供一个可回滚操作 - 需要监控的副本场景中 ...

2017-12-28 17:45:29

阅读数 83

评论数 0

设计模式--命令模式

Java工程源码 类图 定义 将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能 优点 - 类间解耦 调用者Invoker与接受者receiver之间没任何依赖关系,调用者不需要了解到底哪个接...

2017-12-28 17:30:59

阅读数 79

评论数 0

设计模式--责任链模式

Java工程源码 类图 定义 使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。 将这些对象连成一条链,并沿着这条链传递该请求,知道有对象处理它为止 优点 - 将请求和处理分开,两者解耦,提高系统灵活性 缺点 - ...

2017-12-28 14:15:52

阅读数 80

评论数 0

设计模式--迭代器模式

Java工程源码 类图 定义 提供一种方法访问一个容器对象中各个元素,而又不需要暴露该对象的内部细节 优点 - 它支持以不同的方式遍历一个聚合对象。 - 迭代器简化了聚合类。 - 在同一个聚合上可以有多个遍历。 - 在迭代器模式中,增加新的聚合类和...

2017-12-28 10:20:42

阅读数 86

评论数 0

设计模式--模板方法模式

Java工程源码 类图 定义 定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤 优点 - 封装不变部分,扩展可变部分 - 提取公共部分代码,便于维护 - 行为由父类控制,子类实现 ...

2017-12-28 09:40:10

阅读数 88

评论数 0

设计模式--策略模式

Java工程源码 类图 定义 定义一组算法,将每个算法封装起来,并且使它们之间可以互换 优点 - 算法可以自由切换 - 避免使用多重条件判断 - 扩展性良好 缺点 - 策略类数量增多 每个策略一个类,复用的可能性很小,类数量增多 ...

2017-12-28 09:11:27

阅读数 83

评论数 0

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