码迷,mamicode.com
首页 >  
搜索关键字:空间复杂度    ( 2067个结果
背包问题
一 01背包:一件物品只能放一次二维动态转移方程 dp[i][j] = max(dp[i-1][j],dp[i-1][j-w[i]]+v[i])降低空间复杂度用一维: dp[j] = max(dp[j],dp[j-w[i]]+v[i]), j 从V到0(为了防止数组越界,到w[i])代码实现:#in...
分类:其他好文   时间:2015-04-21 20:07:33    阅读次数:144
【数据结构】——排序算法——3.1、选择排序
【数据结构】——排序算法——3.1、选择排序 一、先上维基的图: 分类 排序算法 数据结构 数组 最差时间复杂度 О(n²) 最优时间复杂度 О(n²) 平均时间复杂度 О(n²) 最差空间复杂度 О(n) total, O(1)auxiliary 二、描述:  选择算法算是最直观的一...
分类:编程语言   时间:2015-04-21 11:13:40    阅读次数:152
判定两个集合是否相同
寻找合适的算法判定两个集合是否相同,要求时间复杂度为O(N),空间复杂度为O(1),集合中的元素有可能是int,也有可能是string等。解决方法:计算着每个集合所有元素的信息指纹(MD5或者SHA1算法),然后累加起来,判定两个和是否相等,若相等则集合相同,否则集合不同。...
分类:其他好文   时间:2015-04-20 18:26:18    阅读次数:114
找出重复次数最多的数字
问题 给定一个大小为n的数组,该数组包含数字的范围在 [0...k-1], k是一个正整数,k 例如, 假设k= 10给定的数组是arr[] = {1, 2, 2, 2, 0, 2, 0, 2, 3, 8, 0, 9, 2, 3},最大的重复数量将是2。 期望的时间复杂度是O(n),空间复杂度为O(1),允许修改原数组。 分析 方法一:使用双重循环,逐个判断...
分类:其他好文   时间:2015-04-20 11:15:03    阅读次数:148
算法复杂度
算法的复杂度包括时间复杂度和空间复杂度 1)时间复杂度 即实现该算法需要的计算工作量。算法的工作量用算法所执行的基本运算次数来计算 同一个问题规模下,如果算法执行所需要的基本次数取决于某一特定输入时,可以用以下两种方法来分析算法的工作量: 算法工作量=f(n) (1)平均性态 用各种...
分类:编程语言   时间:2015-04-19 11:31:28    阅读次数:192
从数组中任意取出2个数,判断他们的和是否为输入的数字sum,时间复杂度为0(n^2),空间复杂度0(1)
从数组中任意取出2个数,判断他们的和是否为输入的数字sum,时间复杂度为0(n^2),空间复杂度0(1)假设数据已经是排序好的#include #include #include using namespace std;int a[] = {1,2,3,4,5,6,7,8,9,10};int siz...
分类:编程语言   时间:2015-04-18 07:34:17    阅读次数:203
数据结构和算法-时间复杂度和空间复杂度
【算法时间复杂度的定义】在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度,记作:T(n) = O(f(n))。它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的...
分类:编程语言   时间:2015-04-16 21:29:33    阅读次数:210
Pascal's Triangle 1 & 2
这两题都比较简单,第一题输出杨辉三角,第二题输出特定的某一行,第二题要求空间复杂度为O(k) 代码如下: Pascal's Triangle: public List> generate(int numRows) {//direct simulate List> rs = new LinkedList>(); if(numRows == 0)retur...
分类:其他好文   时间:2015-04-15 14:55:55    阅读次数:135
并查集 (Union-Find Sets)及其应用
并查集:(union-find sets)是一种简单的用途广泛的集合. 并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多。一般采取树形结构来存储并查集,并利用一个rank数组来存储集合的深度下界,在查找操作时进行路径压缩使后续的查找操作加速。这样优化实现的并查集,空间复杂度为O(N),建立一个集合的时间复杂度为O(1),N次合并M查找的时间复杂度为O(M Alpha(N)),这里Alpha是Ackerman函数的某个反函数,在很大的范围内(人类目前观测到的宇宙范围估算有10的8...
分类:其他好文   时间:2015-04-14 23:23:30    阅读次数:317
BST树遍历O(n)时间复杂度+O(1)空间复杂度
问题描述BST树的遍历问题常常遇到,前序、中序、后序等。如果用递归的话,是非常方便的,其时间复杂度是O(n),空间复杂度是O(log n)级别。PS:stackoverflow问答网站上有一个问题指出,这类问题的复杂度不应该直接说是O(log n),因为编译器会进行一些优化,比如修改成尾递归等。不过我们这里暂时不考虑优化,从程序逻辑上来讲,BST递归遍历认为是O(log n)的复杂度。OK,那么如果...
分类:其他好文   时间:2015-04-14 21:33:57    阅读次数:177
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!