2013年12月23日

控制反转

摘要: IoC就是IoC(Inversion of Control),不是什么技术,与GoF一样,是一种设计模式。InterfaceDrivenDesign接口驱动,接口驱动有很多好处,可以提供不同灵活的子类实现,增加代码稳定和健壮性等等,但是接口一定是需要实现的,也就是如下语句迟早要执行:AInterfacea=newAInterfaceImp();这样一来,耦合关系就产生了,如:class A { AInterface a; A() { } aMethod(){ a = new AInterfaceImp(); }}ClassA与AInterfaceImp就... 阅读全文

posted @ 2013-12-23 11:03 SherryIsMe 阅读(146) 评论(0) 推荐(0) 编辑

2013年12月20日

Floyd算法

摘要: 算法简介:Floyd算法又称为弗洛伊德算法,插点法,是一种用于寻找给定的加权图中顶点间最短路径的算法。算法过程:1.从任意一条单边路径开始。所有两点之间的距离是边的权,如果两点之间没有边相连,则权为无穷大。2.对于每一对顶点 i 和 j,看看是否存在一个顶点 k 使得从 i 到 k 再到 j 比已知的路径更短。如果是更新它。代码说明:dist[i][j] : 记录从顶点i到顶点j的最短路径长度,初始化为INFpath[i][j] : 记录从顶点i到顶点j的最短路径所经过的顶点k,初始化为0时间复杂度:O(n^3);空间复杂度:O(n^2);代码:package Algorithm;import 阅读全文

posted @ 2013-12-20 16:46 SherryIsMe 阅读(270) 评论(0) 推荐(0) 编辑

2013年12月18日

JavaScript实现Object的clone

摘要: 前提:JavaScript中并没有提供对象的Clone方法,采用直接赋值的方法(var a = {key:'val'}; var b = a;)有一个很大的弊端:改变b的同时会改变a。所以,实现对象的clone方法是必要的。下面给出了几种实现方法。1.$.extend()方法var copiedObject = jQuery.extend({},originalObject);添加true参数实现deep copyvar copiedObject = jQuery.extend(true, {}, originalObject);2.自定义简单的clone方法 Object.p 阅读全文

posted @ 2013-12-18 14:39 SherryIsMe 阅读(535) 评论(0) 推荐(0) 编辑

最长上升子序列(Longest Increasing Subsequence)

摘要: 给出一个序列a1,a2,a3,a4,a5,a6,a7….an,求它的一个子序列(设为s1,s2,…sn),使得这个子序列满足这样的性质,s1 ans) { ans = dp[i]; } } return ans; }}不过,这个方法只是得到最长子序列的长度,并没有实现得到最长子序列。 阅读全文

posted @ 2013-12-18 13:24 SherryIsMe 阅读(754) 评论(0) 推荐(0) 编辑

Dijkstra最短路径算法

摘要: 引入:Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。代码:package Dijkstra;public class Node { private char id; private boolean isInTree; public Node(char id) { this.setId(id); setInTree(false); } ... 阅读全文

posted @ 2013-12-18 13:22 SherryIsMe 阅读(344) 评论(0) 推荐(0) 编辑

QuickSort快速排序

摘要: 基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。代码:package Sort;public class QuickSort { /** * 递归 * @param a * @param low * @param high */ public static void quickSort(int[] a, int low, int high) { if(low ... 阅读全文

posted @ 2013-12-18 13:17 SherryIsMe 阅读(148) 评论(0) 推荐(0) 编辑

导航