码迷,mamicode.com
首页 >  
搜索关键字:复杂度    ( 16171个结果
java 数组比较,元素的比较,Comparable,Comparator比较的应用实现,排序,查找示例
[基本功不好的勿看,有点复杂度]java 数组比较,元素的比较,Comparable,Comparator比较的应用实现,排序,查找示例...
分类:编程语言   时间:2014-06-11 00:10:36    阅读次数:339
桶排序--小试牛刀
桶排序特点:在桶的大小和元素个数呈现线性关系的时候,复杂度是线性的,最差是O(n^2)(个人理解是当所有元素都在一个桶的时候,采用插入排序的时候);稳定排序(注意实现的时候:对同一个桶内元素的排序要使用稳定排序实现);空间复杂度比较高;桶排序的描述:(1)初始化桶,将元素放入到合适的桶内(2)对各个...
分类:其他好文   时间:2014-06-10 00:45:33    阅读次数:356
字典树小结
字典树: 字典树 即Tire树,以一个空的头结点分若干的分支,来存放数据,虽浪费了大量内存,但是查找速度非常快。 匹配 时间复杂度 O(n) n = strlen(a); 字典树分 3步,建树、插入、查找 当然有时候,建树的选择是很重要的一点,尽量本着少往字典树上添加节点的原则,容易爆!!! 列入下面这题,用m建树,n来查找,即可AC,如果用n来建...
分类:其他好文   时间:2014-06-09 23:42:44    阅读次数:295
并查集—分离集合森林实现
并查集总结    今天总结一下并查集,这个完了之后,寒假学的数据结构基础的模板类的题目差不多就完了,对于模板题,敲上10遍、20遍、30遍,那么模板 就不是模板,就成为了你自己的东西,就好像 A+B 一辈子也忘不了,以后每天敲一遍模板题,加深对模板的理解。 并查集,一般使用的是 数组实现、树实现,其中数组实现时间复杂度较高,树实现也就是分离集合森林 查找、合并的时间复杂度不会...
分类:其他好文   时间:2014-06-09 23:14:04    阅读次数:204
次小生成树的两种算法
一、“换边”算法用Kruskal求最小生成树,标记用过的边。求次小生成树时,依次枚举用过的边,将其去除后再求最小生成树,得出所有情况下的最小的生成树就是次小的生成树。可以证明:最小生成树与次小生成树之间仅有一条边不同。这样相当于运行m次Kruskal算法。复杂度O(m^2)示例代码:int Krus...
分类:其他好文   时间:2014-06-09 22:16:39    阅读次数:348
[LeetCode] Sort List
Sort a linked list in O(n log n) time using constant space complexity.一谈到时间复杂度O(nlogn),立即联想到以下3种排序方法:1.归并排序(基于分治):时间复杂度O(nlogn),归并排序的最好、平均、最坏时间复杂度没有差别...
分类:其他好文   时间:2014-06-09 20:37:31    阅读次数:244
图论算法----最短路
经典算法单源最短路:1.Bellman_ford(可判负环,可有负边)d[i]表示起点S到i的最短路,那么d[i]=min{d[j]+w[j][i]}且存在j->i的边代价为w[j][i]经过证明如果不存在负圈最多通过V-1次松弛就可以完成复杂度O(V*E)(V为结点数,E为边数) 1 #inclu...
分类:其他好文   时间:2014-06-09 15:09:24    阅读次数:256
二分法求一元三次方程的一个实数根
一元一次方程的一般形式是$ax+b=0$,很容易解得$x=-\frac{b}{a}$。对于一元二次方程,也有一个简单的求根公式可以解出方程的根。但是一元三次方程的求根公式较为复杂,需分情况,编写程序的复杂度比前两个要大得多。你可能已经听说过二分查找法,在已排序的数组中查找某一个数的时间复杂度从$O(...
分类:其他好文   时间:2014-06-09 12:59:47    阅读次数:323
[LeetCode] Largest Rectangle in Histogram
第一种方法,暴力求解,从当前向左右两个方向扫描比自己小的,然后计算面积,时间复杂度O(n^2)code如下,但是在LeetCode上回超时。 1 class Solution { 2 public: 3 int largestRectangleArea(vector &height) { 4...
分类:其他好文   时间:2014-06-08 21:24:07    阅读次数:328
[LeetCode] Implement strStr() [18]
字符串匹配这也是个老题了,方法主要有下面4种, 1. 暴利破解法(BF),这个没啥说的,就是一轮一轮的比较,知道遇到相匹配的,这个的时间复杂度为O(n^2)。 2. KMP,这应该是字符串匹配领域中最长听说的算法了吧。 3. Horspool算法,这个不常听说,但是也是很有名的。 4. Boyer-Moore,这个听说过的人应该也不会很多,这个算法在大量字符串的情况下,效率是最高的,能达到kmp的3到4倍。 上面四种算法都很重要,一般标准库中的字符串匹配都使用的是暴力法。 上面四种算法详细的见我下面的这几篇...
分类:其他好文   时间:2014-06-08 03:19:54    阅读次数:187
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!