码迷,mamicode.com
首页 >  
搜索关键字:算法 递归    ( 98246个结果
理解RMQ问题和ST算法的原理
1.RMQ问题     RMQ (Range Minimum/Maximum Query):对于长度为n的数组A,回答若干询问RMQ(A,i,j)(i,jRMQ问题是指求区间最值的问题。最简单的方法,就是遍历数组直接搜索,但是这种方式时间复杂度是O(n)。对于数组长度较大,性能要求高的场景不适用。 2.ST(Sparse Table)算法 ST算法是一种更加高效的算法,以O(nlog...
分类:其他好文   时间:2014-05-25 22:28:29    阅读次数:375
笔试算法题(36):寻找一棵二叉树中最远节点的距离 & 根据二叉树的前序和后序遍历重建二叉树
出题:求二叉树中距离最远的两个节点之间的距离,此处的距离定义为节点之间相隔的边数;分析:最远距离maxDis可能并不经过树的root节点,而树中的每一个节点都可能成为最远距离经过的子树的根节点;所以计算出以每个节点为根节点的子树的最 远距离,最后取他们的最大值就是整棵树的最远距离;如果递归层次过多造...
分类:其他好文   时间:2014-05-25 22:23:43    阅读次数:275
笔试算法题(37):二叉树的层序遍历 & 最长递增的数字串
出题:要求层序遍历二叉树,从上到下的层次,每一层访问顺序为从左到右,并将节点一次编号,输出如下;如果只要求打印指定的level的节点,应该如何实现。 a b c d e f g h i分析:原始的层序遍历类似于BFS,打印当前访问的节点curNode的序列号,并将其直接子节点放入队列queu...
分类:其他好文   时间:2014-05-25 22:22:45    阅读次数:321
笔试算法题(34):从数字序列中寻找仅出现一次的数字 & 最大公约数(GCD)问题
出题:给定一个数字序列,其中每个数字最多出现两次,只有一个数字仅出现了一次,如何快速找出其中仅出现了一次的数字;分析:由于知道一个数字异或操作它本身(X^X=0)都为0,而任何数字异或操作0都为它本身,所以当所有的数字序列都异或操作之后,所有出现两次的数字异或操作之后的结果都为0,则最后剩下的结果就...
分类:其他好文   时间:2014-05-25 22:21:55    阅读次数:411
【算法导论】第五章
开始学习算法导论,看书+笔记+做课后题目+做OJ计划是每天一个小时看书+写笔记挑些课后题目来做,然后一道OJ————————————————————————————————————————今天看随机算法与概率分布,又复习了一下概率论 - -讲到了两个随机算法:其中一个是随机分布优先度,然后按照优先度...
分类:其他好文   时间:2014-05-25 22:20:37    阅读次数:251
笔试算法题(35):最长递增子序列 & 判定一个字符串是否可由另一个字符串旋转得到
出题:求数组中最长递增子序列的长度(递增子序列的元素可以不相连);分析:解法1:应用DP之前需要确定当前问题是否具有无后效性,也就是每个状态都是对之前状态的一个总结,之后的状态仅会受到前一个状态的影响;对于递增子序列 而言,可以首先确定前面k个元素的最长子序列,然后计算增加一个元素之后的最长子序列。...
分类:其他好文   时间:2014-05-25 22:20:16    阅读次数:339
【转】POJ题目分类
初级:基本算法:枚举:1753 2965贪心:1328 2109 2586构造:3295模拟:1068 2632 1573 2993 2996图:最短路径:1860 3259 1062 2253 1125 2240最小生成树:1789 2485 1258 3026拓扑排序:1094二分图的最大匹配:...
分类:其他好文   时间:2014-05-25 22:16:08    阅读次数:341
Java实现敏感词过滤
敏感词、文字过滤是一个网站必不可少的功能,如何设计一个好的、高效的过滤算法是非常有必要的。前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢。我把它程序拿过来一看,整个过程如下:读取敏感词库、如果HashSet集合中,获取页面上传文字,然后进行匹配。我就想这...
分类:编程语言   时间:2014-05-25 22:06:08    阅读次数:496
融合算法集锦
一、PCA:PCA是一种用来对图像特征降维的方法,PCA通过将多个变量通过线性变换以选出较少的重要变量。它往往可以有效地从过于“丰富”的数据信息中获取最重要的元素和结构,去除数据的噪音和冗余,将原来复杂的数据降维,揭示隐藏在复杂数据背后的简单结构。近年来,PCA方法被广泛地运用于计算机领域,如数据降...
分类:其他好文   时间:2014-05-25 20:43:34    阅读次数:288
大整数的加减乘除
多项式的加减乘除能够利用多项式的加减乘除进行运算,所以下面程序採用了多项式的加减乘除。多项式运算已经在《算法导论》第30章有简要的介绍,详细的请參考数学书。大整数加法:(利用书上公式轻松得出)//多项式加法-大数加法#include #include using namespace std;#def...
分类:其他好文   时间:2014-05-25 20:41:33    阅读次数:202
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!