标签: complexity-theory

0
推荐指数
1
解决办法
3019
查看次数

如何计算big-theta

有人可以为我提供一个如何计算大theta的实时示例.

有点像平均情况,(最小 - 最大)/ 2?

我的意思是(最短时间 - 大O)/ 2

如果我错了请纠正我,谢谢

algorithm complexity-theory big-o big-theta

0
推荐指数
1
解决办法
3万
查看次数

字符串的线性时间排序算法?

我有一个字符串数组,每个字符串都有不同的长度.例如:

s[0] = "sSWXk"
s[1] = "qCk"
s[2] = "sOQQXPbk"
.
.
.
s[x] = "KVfdQk";
Run Code Online (Sandbox Code Playgroud)

我也得到了

n = s[0].length() + s[1].length() + ... + s[x].length()
Run Code Online (Sandbox Code Playgroud)

我需要一个时间复杂度为O(n)的排序算法,用于按字典顺序对这些字符串进行排序,以便(例如)

a < ab < b < bbc < c < ca
Run Code Online (Sandbox Code Playgroud)

有什么建议?时间复杂度是算法的基本要求.

java sorting algorithm complexity-theory big-o

0
推荐指数
1
解决办法
2714
查看次数

比较Big O,Theta和Omega之间的算法复杂度

晚上好,

我想帮助比较一个大O和Θ算法.
我可以理解如何比较两个大O,但是
我对如何比较big-O与Θ或big-O与Ω等有什么不妥.

我将在下面发布一些例子:

Θ(2ⁿ)vsΟ(2ⁿ)
Θ(n 0.6) vsΘ (n logn)
O(n)vsΩ(n⋅logn)

algorithm complexity-theory big-o big-theta

0
推荐指数
1
解决办法
1310
查看次数

perl中的数组访问复杂度为O(1)还是O(n)?

我正在缓存函数f(1),f(2),...,f(1e7)的结果.缓存中的元素将随机读取.在C中,我将其存储在向量中,因为访问复杂度为O(1).在Perl中,我应该将缓存存储在向量还是哈希中?

我觉得将它存储在哈希中不会利用输入是连续整数的事实.但另一方面,我可能会过度思考这一点.

perl complexity-theory caching

0
推荐指数
1
解决办法
231
查看次数

相同功能的几个大O符号

f(n)= ( (n^2+2n)/n + 1/1000*(n^(3/2)))*log(n)

此功能的时间复杂度可能都是 O(n²*log(n)) and O(n^(3/2)*log(n))

这怎么可能?我认为这里的主导术语是n² (*log(n)),因此它应该O(n²*log(n))只是大O符号和时间复杂性措施感觉如此模糊

algorithm complexity-theory

0
推荐指数
1
解决办法
124
查看次数

查找由其他字符串的字符组成的最长子字符串

鉴于两个字符串:

str1 = "abcdefacbccbagfacbacer"
str2 = "abc"
Run Code Online (Sandbox Code Playgroud)

我要找到其中最长的子串str1由字符子集组成str2,在这种情况下它将是 - 7 (acbccba).什么是解决这个问题的方法,至少复杂.首先我想到了DP.但是,我认为DP确实不是必需的,因为我们必须搜索子字符串,而不是子序列.然后我虽然后缀树.但这需要额外的预处理时间.

最好的方法是什么?实际上,这个问题是否适用于后缀树或DP?

java string algorithm optimization complexity-theory

0
推荐指数
1
解决办法
929
查看次数

并发世界的大O符号是否相关?

在大多数流行的语言中,比如C/C++/C#/ Erlang/Java,我们有线程/进程; GPGPU计算市场正在增长.如果算法需要N个与数据无关的步骤,那么我们得到的性能就不一样,因为算法需要所有步骤都相互跟随.所以我想知道大O符号在并发世界中是否有意义?如果它与分析算法性能无关?

您可以在分布式环境中拥有N个或更多处理器(未来的GPGPU /集群/ FPGA,您可以根据需要获得尽可能多的内核 - 并发世界,不限于并行内核的数量)

algorithm complexity-theory time-complexity

0
推荐指数
1
解决办法
605
查看次数

最坏的运行时间Big O.

你能解释一下我如何能得到这个算法的最坏情况Big O. 我正在阅读我的教科书,我遇到了类似这样的算法,但仍然不理解它背后的逻辑.

int t=0;
for(int x=0;x<num.length;x++){
    for(int y=0;y<num.length;y++){
        for(int p=0;p<num.length;p++){
            for(int w=0;w<num.length;w++){
                if(num[p][w]>num[x][y])
                {
                    t=num[x][y];
                    num[x][y]=num[p][w];
                    num[p][w]=t;
                }
            }
        }
    }
} 
Run Code Online (Sandbox Code Playgroud)

java complexity-theory big-o

0
推荐指数
1
解决办法
955
查看次数

insert方法在Ruby Array中的复杂性顺序

当n是数组大小时,在Ruby中插入数组的预期数量级是多少?
谢谢

ruby arrays complexity-theory

0
推荐指数
1
解决办法
476
查看次数