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) 编辑

导航