全排列问题在公司笔试的时候很常见,这里介绍其递归与非递归实现。
递归算法
1、算法简述
简单地说:就是第一个数分别以后面的数进行交换
E.g:E = (a , b , c),则 prem(E)= a.perm(b,c)+ b.perm(a,c)+ c.perm(a,b)
然后a.perm(b,c)= ab.perm(c)+ ac.perm(b)= abc + acb.依次...
分类:
其他好文 时间:
2014-06-20 13:36:14
阅读次数:
206
昨天做了leetcode里的 Longest Palindromic Substring ,一开始用动态规划O(N^2),不管怎么改都超时了。。。于是在大神的帮助下,找到了传说中的Manacher算法,居然能在O(n)内求出来,瞬间给跪了。
本屌认为,这个算法主要是充分的利用了以前的匹配的结果,来起到了降低时间复杂度的作用,这点跟KMP算是有点类似。在预处理时有个小技巧就是将第0,1为设...
分类:
其他好文 时间:
2014-06-20 12:15:22
阅读次数:
305
首先,核心函数是这个
function mHash($key){
$md=substr(md5($key),0,8);
$seed=31;
$hash=0;
for($i=0;$i
$hash=$hash*$seed+ord($md5{$i});
}
return $hash & 0x7FFFFFFF;
}
class HashServer{
private $serve...
分类:
Web程序 时间:
2014-06-20 10:36:06
阅读次数:
213
就像我其他博文中说的,对于软件的优化除开算法,全部都是为流水线服务的.所以优化的时候要时刻记住一这点.由于优化的东西比较杂,我写的不是很好,所以在文章的最后,我会试着提炼出一些通用性的原则.
由于之前在WPS上写的,所以代码没有用模版来排版,各位看官就将就着看吧..我也只是为了提炼一次知识,真正的优化还是认真看一遍书来的好.
有哪些方法优化软件?
通常有两种方式,一种是通过编译器,另一...
分类:
其他好文 时间:
2014-06-20 09:17:09
阅读次数:
321
Project Ruler 算法练习之 10 进制 转 2进制 以及数字对称...
分类:
其他好文 时间:
2014-06-07 13:42:45
阅读次数:
189
Least-Recently-Used(LRU) - 最近最少使用
替换掉最近被请求最少的文档。这一传统策略在实际中应用最广。在CPU缓存淘汰和虚拟内存系统中效果很好。然而直接应用与代理缓存效果欠佳,因为Web访问的时间局部性常常变化很大。Least-Frequently-Used(LFU) - 最不经常使用
替换掉访问次数最少的。这一策略意图保留最常用的、最流行的对象,替换掉很少使用的那些。...
分类:
其他好文 时间:
2014-06-07 13:14:36
阅读次数:
299
策略模式
策略模式定义一系列的算法,并将每个算法进行封装,而且使他们可以相互替换,是算法与客户端(调用者)隔离开来,可以独立变化。应用场景
多个类只是表现行为不同,在运行时根据需要动态选择执行的算法 客户端需要在不同情况下调用不同的算法,或者在将来算法可能会被改变 算法对于客户端隐藏全部实现...
分类:
其他好文 时间:
2014-06-07 07:12:51
阅读次数:
190
hello,everybody,今天我们来学习线性表的最后两种形式,循环链表、双向链表。这两种链表,是链式存储结构的不同形式。书归正传,我们先来看看循环链表吧。
大家思考一个问题,我们把线性表各个元素比作下图的路线图上的城市: 我们的线性表各个结点的指针,都是指向唯一的后继结点,线性表的终端结点的指...
分类:
其他好文 时间:
2014-06-07 06:24:12
阅读次数:
338
最近看了很多介绍图算法的文章,发现网上可以搜到的资料比较少,所以打算在这写一个介绍图算法的系列文章,一方面是帮助自己整理,另一方面也给大家分享下这方面的知识。1.1图的定义: 图(graph)由顶点(vertex)和边(edge)的集合组成,每一条边就是一个点对(v,w)。图的种类:地图,电路图,调...
分类:
其他好文 时间:
2014-06-07 06:13:29
阅读次数:
305
STL实践与分析--容器特有的算法
与其它顺序容器所支持的操作相比,标准库为list容器定义了更精细的操作集合,使它不必仅仅依赖于泛型操作。当中非常大的一个原因就是list容器不是依照内存中的顺序进行布局的,不支持随即訪问,这样,在list容器上就不能使用随即訪问迭代器的算法,如sort等;还有其....
分类:
编程语言 时间:
2014-06-07 06:12:44
阅读次数:
245