码迷,mamicode.com
首页 >  
搜索关键字:递归    ( 18847个结果
排序算法之stooge排序
stooge排序是一种递归排序算法,这种排序算法不仅慢于一般的有效排序算法(如:插入排序,合并排序,堆排序和快速排序),甚至慢于冒泡排序。是一种简单但低效的排序算法。...
分类:其他好文   时间:2014-06-07 01:26:17    阅读次数:173
【leetcode】Scramble String
题目:给定两个串s1和s2,对s1串,我们可以将其分割成两部分,这两部分都不为空,而被分割成的两部分,又可以递归的进行分割,直到不能进行分割为止,也就是只有一个字符的时候,就不在分割了。问s2是否由s1的这种分割表示中,某步分割成的两部分交换得到的。这种交换可以在不同的分割点进行多次。 /* s1 |__________p____________| ...
分类:其他好文   时间:2014-06-05 11:09:06    阅读次数:207
HDU 1890 Robotic Sort 伸展树的区间反转与延迟标记
延迟标记像极了线段书,不再多说。 区间反转在树伸展到位之后,也变成了简单的递归交换左右儿子。 愈发感觉到伸展树简直太漂亮了,伸展操作更是诱惑到不行 ,总之数据结构太有魅力了。 比较简单,就直接上模板了。 #include #include #include #include #include #include #include #include #include #pr...
分类:其他好文   时间:2014-06-05 08:33:14    阅读次数:190
[ALGO-11] 瓷砖铺放
算法训练 瓷砖铺放   时间限制:1.0s   内存限制:512.0MB 问题描述   有一长度为N(1   例如,长度为4的地面一共有如下5种铺法:   4=1+1+1+1   4=2+1+1   4=1+2+1   4=1+1+2   4=2+2   编程用递归的方法求解上述问题。 输入格式   只有一个数N,代表地板的长度 输出格...
分类:其他好文   时间:2014-06-05 03:49:46    阅读次数:211
排序算法之快速排序的随机化版本
快速排序的随机化版本并不是一种全新的排序算法,而是在快速排序的基础上加入随机化的因素,因素,因而仍然将其作为第四种方法(快速排序)的一种补充。       为什么要提出快速排序的随机化版本,主要是对于快速排序法其划分情况的好坏会直接影响排序的效率,而且,快速排序的平均性能较好,所以,加入随机化成分,可以使该算法对于所有输入均能获得较好的平均情况性能。...
分类:其他好文   时间:2014-06-05 03:30:11    阅读次数:225
POJ 1182 (经典食物链 /并查集扩展)
向量偏移——由“食物链”引发的总结 http://poj.org/problem?id=1182这道食物链题目是并查集的变型,很久以前做的一次是水过的,这次仔细地研究了这“食物链”,无非就是运用向量偏移,从以前节点与节点转化成向量与向量的关系。我们可以把矛盾的产生得益于向量偏移时的结果。 直接引出向量偏移的运用。   下面是POJ一位大牛这样理解的,本人稍有修改。 对于集合里...
分类:其他好文   时间:2014-06-05 03:29:27    阅读次数:205
c2java 回溯,下一个排列和子集和
穷举:生成所有候选解,然后找出需要的解。 回溯:把解表示成向量,每个分量取自一个有限集合。从部分解开始,每次添加解的一个分量,然后判断如果有可能扩展成完整解则递归下去,否则换成下一个。可以看做是隐式图上的深度优先搜索。 回溯/穷举的复杂度,最坏时和后者一样,通常情形因为不必遍历所有子节点,还是比较快的。 回溯框架: backtrack(a[], k)  if a[0,...,k] i...
分类:编程语言   时间:2014-06-05 02:39:10    阅读次数:246
Poj Double Queue 3481 AVL解法
本题应该挺经典的,因为可以使用好多方法过,适合训练多种高级数据结构和算法。 这里使用AVL平衡二叉树的解法,时间还可以,大概300ms吧,内存很省188k,因为这里使用指针,没有浪费内存。 这里使用Geeks上面的AVL的做法,使用递归更新树,而不使用双亲指针,试了下使用双亲指针,真的好麻烦,要维护多一个指针,容易出错很多。 递归操作二叉树是非常优雅的。 而且不需要使用任何STL容器,非常...
分类:其他好文   时间:2014-06-05 01:56:58    阅读次数:269
排序算法之快速排序
快速排序的平均性能相当好,故快速排序通常是用于排序的最佳的使用选择。 该算法的关键是对数组进行初始划分。进行完数组划分之后,需要递归地将划分出来的两子数组分别进行快速排序。...
分类:其他好文   时间:2014-06-05 01:11:08    阅读次数:258
递归判断一个数是否递增
#includeusing namespace std;//是否单调递增bool isdan(int a[],int lev,int len){ if(len==1) return true; if(lev==len-1) { return true; } else { if(a[lev]>a[le...
分类:其他好文   时间:2014-05-31 01:21:47    阅读次数:257
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!