码迷,mamicode.com
首页 >  
搜索关键字:空间复杂度    ( 2067个结果
夯实基础——堆排序
堆排序分析: 最优时间复杂度:O(nlog2n) 最坏时间复杂度:O(nlog2n) 平均时间复杂度:O(nlog2n) 空间复杂度:O(1) 稳定性:不稳定 C语言代码...
分类:其他好文   时间:2014-08-21 19:23:44    阅读次数:182
IT公司100题-26-左旋转字符串
问题描述:给定字符串和左旋的字符数,写程序实现字符串的左旋操作。例如对于字符串”12345678″, 左旋转4个字符后,变成”56781234″。要求时间复杂度为O(n),空间复杂度O(1)。分析:假设字符串表示为XY,X表示需要左旋的部分,左旋后字符串表示为YX。根据公式:代码实现: 1 // 2...
分类:其他好文   时间:2014-08-21 18:34:34    阅读次数:169
优化后的Levensthein distance算法实现
在上一篇文章Levenshtein distance算法实现中,笔者已经讲解了一般最小编辑距离的算法。该算法采用动态规划,时间复杂度是O(m*n),m,n分别为两个字符串的长度,而空间复杂度也是O(m*n),如果使用int作为矩阵元素的类型,则矩阵的占用空间大小为sizeof(int)*m*n,假如两个字符串的长度均为10000个字符,则矩阵大小为400MB,相当可观。参考一个快速、高效的Leve...
分类:其他好文   时间:2014-08-20 12:38:02    阅读次数:187
几种排序算法的学习,利用Python和C实现
之前学过的都忘了,也没好好做过总结,现在总结一下。时间复杂度和空间复杂度的概念:1、空间复杂度:是程序运行所以需要的额外消耗存储空间,一般的递归算法就要有o(n)的空间复杂度了,简单说就是递归集算时通常是反复调用同一个方法,递归n次,就需要n个空间。2、时间复杂度:一个算法花费的时间与算法中语句的执...
分类:编程语言   时间:2014-08-20 12:27:12    阅读次数:263
基数排序
在箱子排序中,虽然时间复制度只有(n),但如果其箱子序列较大的话将会导致程序的空间复杂度较大,所以对于对于属性值跨度比较大的序列可以采用基数排序法。     概述:具体的做法是并不直接对这些数排序,而是采用一些基数来分解这些数,例如:用基数10来分解3725可以得到3、7、2和5。而利用60来分解可以得到1、2、5。然后再根据每一位基数从低位到高位对原数据进 行排序,即若最长的基数有m位,直到...
分类:其他好文   时间:2014-08-19 22:27:55    阅读次数:208
左旋字符串
定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。 如把字符串abcdef左旋转2位得到字符串cdefab。 请实现字符串左旋转的函数,要求对长度为n的字符串操作的时间复杂度为O(n),空间复杂度为O...
分类:其他好文   时间:2014-08-19 11:11:24    阅读次数:189
ZOJ ACM 1314(JAVA)
昨天做了几个题目,过于简单,就不在博客里面写了。 1314这道题也比较简单,写出来是因为我觉得在这里有一个小技巧,对于时间复杂度和空间复杂度都比较节省。 这个题目类似哈希表的求解,但是更简单。刚拿到题目时,我想当然的希望将查询结果放到一个数组里面,然后遍历查询是否有一样的mod值。但是感觉这样肯定是最普遍的方法而且效率也不是太高。 后来想到了其他的一些查询算法,比如二分,但是都感觉不太合适。...
分类:编程语言   时间:2014-08-19 11:02:04    阅读次数:156
两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i]
【问题】 1、不用除法运算 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i]; 要求: 1.不准用除法运算2.除了循环计数值,a[N],b[N]外,不准再用其他任何变量(包括局部变量,全局变量等)3.满足时间复杂度O(n),空间复杂度O(1)。 【分析】 提示:题目要求...
分类:其他好文   时间:2014-08-15 17:50:49    阅读次数:198
求一个序列中两个只出现一次的数
当然了,O(1)空间复杂度是必须的...先看一个简单版:求出一个序列中一个只出现一次的数COJ 1217 奇数个的那个数http://122.207.68.93/OnlineJudge/problem.php?id=1217我们知道任意两个相同的数 异或结果为0 任何数与0异或结果是其本身 异或运算...
分类:其他好文   时间:2014-08-15 17:21:49    阅读次数:194
【编程题目】找出数组中两个只出现一次的数字 ★★(自己没做出来)
61.找出数组中两个只出现一次的数字(数组)题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是 O(n),空间复杂度是 O(1)。思路:瞄到了一眼提示,说是位运算。根据异或的运算性质:a ⊕ b ⊕ a = b把所有的数字都异或一遍得到...
分类:其他好文   时间:2014-08-14 19:23:49    阅读次数:188
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!