码迷,mamicode.com
首页 >  
搜索关键字:空间复杂度    ( 2067个结果
[Leetcode][Tree][Binary Tree Preorder Traversal]
二叉树的前序遍历:root点先被访问,然后是left和right子节点。迭代的版本也相对好写。1、递归版本:时间复杂度O(N),空间复杂度O(N) 1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * int va...
分类:其他好文   时间:2014-07-07 20:35:24    阅读次数:158
算法复杂度分析
对于同一计算问题可以用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。对于一个算法,当输入规模大到使只与运行时间的增加量级有关时,就是在研究算法的渐进效率。也就是说,从极限角度看,我们只关心算法...
分类:其他好文   时间:2014-07-07 18:27:56    阅读次数:218
归并排序(merge-sort)
一,归并排序 归并排序是建立在归并操作上的一种排序算法,它采用了分治法的思想,是一种稳定的排序算法,而且归并排序的速度仅次于快速排序。时间复杂度:O(n*logn),最坏的情况:O(n*logn),空间复杂度:O(n)。从数据就可以看出:归并排序比快速排序快很多,同样为稳定排序。 ...
分类:其他好文   时间:2014-07-05 11:16:20    阅读次数:208
堆排序(heapsort)
堆数据结构是一种数组对象,它可以被视为一棵完全二叉树。时间复杂度为:O(n*logn),空间复杂度:O(1);平均时间复杂度和最坏时间复杂度都为:O(n*logn),但堆排序是不稳定排序。堆排序思路: 1.建立小堆:把堆看成一个完全二叉树,然后从这棵树的最大非叶子节点开始,比较...
分类:其他好文   时间:2014-07-05 11:12:28    阅读次数:249
[算法]求一段包含所有种类的字符子串
有一个字符串首尾相连(m个字符),有n种字符组成,求一段能使包含n种字符的子串,并使长短最短,时间复杂度要求O(n),空间复杂度O(1)#include int foo(const char* str, int m, int n){ int hit[256], count = 0, begin...
分类:其他好文   时间:2014-07-03 20:28:46    阅读次数:312
对于民科吧s5_or吧友自增树的复杂度计算
原帖 自增树如s5_or所说,是一种思想像Splay的数据结构,每个节点维护一个堆权值,每当询问一个节点时,堆权值++,并返回时维护堆权值为堆的性质。这个树从旋转次数上比Splay小是肯定的,因为Splay旋转次数是logn次,但是这个树不一定,空间复杂度是O(n),接下来分析时间复杂度。 ...
分类:其他好文   时间:2014-07-03 20:15:24    阅读次数:170
[算法]字符串左移k位
如,abcde左移3位为deabc要求时间复杂度O(n),空间复杂度O(1),每一个字符只能遍历一次摘自http://blog.csdn.net/geniusluzh/article/details/8460031利用数学解决该问题 其实对于这道题,最初一看的想法就是将当前位依次替换左移m位对应的....
分类:其他好文   时间:2014-07-02 21:26:41    阅读次数:352
后缀自动机的直观理解
后缀自动机(SAM) 搜了网上,多介绍应用,[3]算是一个比严格的定义性描述,并给出了证明。但是这个证明我并未看懂,下面综合一些资料给一些个人的直观但不失严谨的理解。 给定一个串A的后缀自动机是一个有限状态自动机(DFA),它能够且仅能够接受A的后缀,并且我们要求它的状态数最少。 设n=|A|, 状态数:st=[n+1,2n-1], 边数:eg=[n,3n-4]。构造:空间复杂度:26*st...
分类:其他好文   时间:2014-07-02 08:50:12    阅读次数:338
每日算法之三十七:Rotate Image (图像旋转)
You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). Follow up: Could you do this in-place? 原地图像顺时针旋转90度。因为要求空间复杂度是常数,因此应该迭代旋转操作。 class ...
分类:其他好文   时间:2014-06-30 19:51:53    阅读次数:267
时间复杂度
1, 算法分为时间复杂度和空间复杂度; 作用: 时间复杂度是度量算法执行的时间长短;而空间复杂度是度量算法所需存储空间的大小。   2. 一般情况下,算法的基本操作重复执行的次数是模块n的某一个函数f(n),因此,算法的时间复杂度记做:T(n)=O(f(n))   分析:随着模块n的增大,算法执行的时间的增长率和f(n)的增长率成正比,所以f(n)越小,算法的时间复杂度越低,算法的效率越...
分类:其他好文   时间:2014-06-27 08:33:55    阅读次数:144
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!