1. String getOrderedString(boolean isDuplicated, String … str)
说明:
Orders all characters in the input strings and return the ordered string.(note: only considering the alphabets and digits)
i.e:
...
分类:
编程语言 时间:
2015-06-25 15:43:48
阅读次数:
123
A*算法;A*(A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法。估价值与实际值越接近,估价函数取得就越好。 公式表示为: f(n)=g(n)+h(n),其中 f(n) 是从初始点经由节点n到目标点的估价函数,g(n) 是在状态空间中从初始节点到n节点的实际代价,h(n) 是...
分类:
编程语言 时间:
2015-06-23 11:28:20
阅读次数:
216
本文给出了动态规划的简要定义、适用场景、算法实现。并给出了四种经典动态规划:钢条切割求最大收益问题、矩阵链相乘求最小乘法次数问题、最长公共子序列问题、求最小的搜索代价的最优二叉搜索树的c++代码实现。定义
性质 适用条件
算法实现过程首先观察问题是否满足最优子结构性质
写出递归等式递归的定义子问题的最优解
求解子问题的最优解
构造最优解
四个经典问题的cpp实现
1 钢条切割
2 矩阵链相乘
3...
分类:
编程语言 时间:
2015-06-22 11:07:25
阅读次数:
205
快速排序(Quicksort),因其排序之快而得名,虽然Ta的平均时间复杂度也是o(nlgn),但是从后续仿真结果看,TA要比归并排序和堆排序都要快。快速排序也用到了分治思想。(一)算法实现 1 protected void quicksort(int[] array, int first, int...
分类:
编程语言 时间:
2015-06-21 00:39:21
阅读次数:
271
堆排序(Heapsort)是一种利用数据结构中的堆进行排序的算法,分为构建初始堆,减小堆的元素个数,调整堆共3步。(一)算法实现 1 protected void sort(int[] toSort) { 2 buildHeap(toSort); 3 for ...
分类:
编程语言 时间:
2015-06-20 23:31:54
阅读次数:
341
最近从网易公开课在看麻省理工学院的公开课《算法导论》,感觉还不错,接下来几篇文章所示学习日记了,不准备对算法细节做过多描述,感兴趣的可以自己去看。文章分几篇讲经典排序算法,直接上代码,根据结果对算法性能有个直观了解。本篇先说插入排序(insertion sort)。(一)算法实现 1 protect...
分类:
编程语言 时间:
2015-06-20 23:23:14
阅读次数:
219
归并排序(Merge sort)用到了分治思想,即分-治-合三步,算法平均时间复杂度是o(nlgn).(一)算法实现 1 private void merge_sort(int[] array, int first, int last) { 2 if (first + 1 = arr...
分类:
编程语言 时间:
2015-06-20 23:20:38
阅读次数:
155
所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数...
分类:
编程语言 时间:
2015-06-18 13:44:32
阅读次数:
284
rsa 具体是什么 这个就不在多说。算法实现啊应用啊 已经有很多了。今天记录下 这种特殊的需求,前台签名,后台验证Java后台产生 密匙对pom.xml 添加BC 依赖 org.bouncycastle bcprov-jdk15on ...
分类:
编程语言 时间:
2015-06-17 15:18:28
阅读次数:
436
选择排序(Selection sort)是一种常见的排序算法,算法实现的逻辑每一次从待排序的数组中选出最小(或最大)的一个元素,存放在序列的第一个位置,然后生鲜的元素中选择第二小(或者第二大)的元素放在第二个位置,以此类推,将整个数组排序成功。对于一个长度为N的数组,选择排序大概需要N^2/2的比较...
分类:
编程语言 时间:
2015-06-16 09:12:16
阅读次数:
146