所以我知道时间的复杂性:
for(i;i<x;i++){
for(y;y<x;y++){
//code
}
}
Run Code Online (Sandbox Code Playgroud)
是n ^ 2
但会:
for(i;i<x;i++){
//code
}
for(y;y<x;y++){
//code
}
Run Code Online (Sandbox Code Playgroud)
是n + n?
是O(log(log(n)))实际上只是O(log(n))当谈到时间复杂度?
你是否同意这个函数g()的时间复杂度O(log(log(n)))?
int f(int n) {
if (n <= 1)
return 0;
return f(n/2) + 1;
}
int g(int n) {
int m = f(f(n));
int i;
int x = 0;
for (i = 0; i < m; i++) {
x += i * i;
}
return m;
}
Run Code Online (Sandbox Code Playgroud) ASP MVC 5有一个称为属性路由的新路由.我看到它的方式,路线现在分散在每个控制器上,与基于惯例的路径不同,有单一位置的RouteConfig.cs,您可以在其中检查您的路线,这也可以作为您的站点路线的文档以某种方式.
我的问题是,在可读性和可维护性方面,使用基于约定的路由的属性路由更好吗?并且有人可以建议如何设计路线以获得更好的可维护性和可读性.
我看了几个网站上的几个讨论,但没有一个给我一个解决方案.这段代码运行时间超过5秒:
for i in xrange(100000000):
pass
Run Code Online (Sandbox Code Playgroud)
我正在研究整数优化问题,我必须使用 O(n log n)算法编辑:一个O(n²/ 4)算法,其中n代表所有矩阵'项,即在下面的代码中, n*m个= 10000.因此,对于矩阵100*100与10000层的元件,这将导致在近25000000迭代....它的代码可以总结如下:
m = 100
n = 100
for i in xrange(m):
for j in xrange(n):
for i2 in xrange(i + 1, m):
for j2 in xrange(j + 1, n):
if myarray[i][j] == myarray[i2][j2] and myarray[i2][j] == myarray[i][j2]:
return [i, j], [i2, j2]
Run Code Online (Sandbox Code Playgroud)
我应该放弃Python并返回Java或C?
我使用Python 2.7并且Psyco不可用.PyPy不支持Tkinter开箱即用,我正在使用Tkinter.
那么,它们会提高循环速度吗?还有其他解决方案吗?
请考虑以下问题:
你收到一些整数m和集n=1+2+...+m,
现在,你需要从打印所有号码1,以n从外部到内部的三角形.
例:
输入:
m=6
n=1+2+3+4+5+6 = 21
Run Code Online (Sandbox Code Playgroud)
输出:
1
2 15
3 16 14
4 17 21 13
5 18 19 20 12
6 7 8 9 10 11
Run Code Online (Sandbox Code Playgroud)
如果您可以使用任何支持性数据结构,那么最快的方法是什么?如果你不能使用超过O(1)内存,最快的方法是什么?
我有两个对象数组:
var a = [ {'id': 20}, {'id': 15}, {'id': 10}, {'id': 17}, {'id': 23} ];
var b = [ {'id': 90}, {'id': 15}, {'id': 17}, {'id': 23} ];
Run Code Online (Sandbox Code Playgroud)
我想得到一个在a中但不在b中的对象.此示例的结果将是:
{'id': 20}和{'id': 10}.
因为数组可能很大,所以我需要一种有效的方法来做到这一点.
big-o ×5
algorithm ×4
python ×2
arrays ×1
c ×1
diff ×1
fibonacci ×1
java ×1
javascript ×1
nested-loops ×1
performance ×1
sorting ×1