for(int i = 1; i < n; i = i ? 2){
for(int j = 0; j < n; j++){
if(i == j){
for(int k = 0; k < n; k++){
// Do something elementary
}
}else{
// Do another elementary thing
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在做一些运动,有人可以帮我弄清楚吗?上面的算法?我知道如果只是两个外部嵌套循环,时间复杂度应该是?(nlogn)。但我不知道如何对待 if-else 语句。提前谢谢了!
我是时间复杂度分析的新手...
如果有人能告诉我这是否是二次的,我将不胜感激。而且如果有更简单的方法可以使它成为o(1)。
public class PrimeNumbers {
public boolean isPrime(int n) {
boolean retValue = true;
for (int i = 2; i < n; i++) {
if (n % 2 == 0) {
retValue = false;
}
}
return retValue;
}
}
Run Code Online (Sandbox Code Playgroud)
如果有人可以分解它为什么是这样,它肯定会帮助我学习。:)
非常感谢!
我阅读了多个答案,指出如果一种语言不是上下文无关的,那么它的补充就是上下文无关的(如果我错了,请纠正我)。相反的情况是这样吗?上下文无关语言的补充是上下文无关的吗?
complexity-theory context-free-grammar formal-languages context-free-language
这段代码的时间复杂度是多少?
for(int i = 1 ; i <= b ; ++i )
for(int j = i ; j <= b ; j += i )
Run Code Online (Sandbox Code Playgroud) PARTITION:给定一组正整数 A={a_1,...,a_n} 是否存在 A 的子集,其总和等于其补数的总和?
子集总和:给定一组正整数 A={a_1,...,a_n} 和另一个正整数 B,是否存在 A 的子集,使得它的总和等于 B?
我试图通过将 PART 减少到 SSUM 来证明如果 PARTITION 是 NP-complete,那么 SUBSET SUM 也是 NP-complete。
我的解决方案是:让 A={a1,...,an} 是一组正整数。然后,如果 A 在馈入 PART 时给出解 I={k1,...,km}(其中 k_i 是解子集成员的索引),那么我们构造 A'={a1,...an, S} 其中 S 是 {a_k1,a_k2,...,a_km} 的总和。A' 是 SSUM 的解。
我的问题是这只是一种方式,这意味着我们不能证明给定 A' 那么 A 是 PART 的解决方案。这是一个问题吗?我怎么能修改证明来覆盖它?
我想了解 Immutable.equals() 的计算复杂度。我还没有通过阅读源代码清楚地找到我的答案,在网络讨论中也没有......
var obj1 = Immutable.Map({a: 1, b: 2, c: 'lot of entries'});
var obj2 = obj1.set('a', 1);
Run Code Online (Sandbox Code Playgroud)
是否obj1.equals(obj2)会比较即使有平等的对象的每个关键?
如果它比较每个键,我最好将它与obj1===obj2.
在比较对象的每个键/值之前,Immutable 是否验证 === 相等?
在两个相同对象的情况下,了解 Immutable.equals() 和 === 运算符的计算复杂度之间是否存在很大差异会很有趣。
我试图理解P,NP,NP-Complete和NP-Hard之间的关系.
我相信我开始理解一般的想法但是,我对这个问题感到困惑(见标题).
什么是这是一个问题的例子并不 P中时间内可解,是在P个时间核查的,但不是 NP完全?
如果我缺少一些理解,请填写我.
提前致谢
我陷入了即将到来的期中考试的复习问题,非常感谢任何帮助。
请看下面的函数:
void george(int n) {
int m = n; //c1 - 1 step
while (m > 1) //c2 - log(n) steps
{
for (int i = 1; i < m; i++) //c3 - log(n)*<Stuck here>
int S = 1; //c4 - log(n)*<Stuck here>
m = m / 2; //c5 - (1)log(n) steps
}
}
Run Code Online (Sandbox Code Playgroud)
我陷入了内部 for 循环,因为每次迭代后 i 都在递增,并且 m 被除以 2。
如果 m = 100:第一次迭代 m = 100:循环将运行 100 次,i 迭代 100 次 + 1 用于最后一次检查 第二次迭代 m …
众所周知,插入排序的最佳情况运行时间为n,最坏情况运行时间为n 2。在这种情况下,它是否具有很大的 theta 值?
algorithm ×3
big-o ×3
java ×2
np-complete ×2
time ×2
boids ×1
c++ ×1
dictionary ×1
equals ×1
if-statement ×1
immutable.js ×1
javascript ×1
loops ×1
np ×1
primes ×1
quadtree ×1