相关疑难解决方法(0)

两个for循环的时间复杂度

所以我知道时间的复杂性:

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?

algorithm complexity-theory big-o

21
推荐指数
2
解决办法
2万
查看次数

Big-O小澄清

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)

c big-o time-complexity

20
推荐指数
2
解决办法
1497
查看次数

ASP MVC 5属性路由VS. 基于会议的路由

ASP MVC 5有一个称为属性路由的新路由.我看到它的方式,路线现在分散在每个控制器上,与基于惯例的路径不同,有单一位置的RouteConfig.cs,您可以在其中检查您的路线,这也可以作为您的站点路线的文档以某种方式.

我的问题是,在可读性和可维护性方面,使用基于约定的路由的属性路由更好吗?并且有人可以建议如何设计路线以获得更好的可维护性和可读性.

asp.net-mvc-routing asp.net-mvc-5

18
推荐指数
2
解决办法
1万
查看次数

为什么我们忽略Big O表示法中的系数?

在寻找与"大O"符号相关的答案时,我已经看到了许多SO答案,例如这个,这个或者这个,但我仍然没有清楚地理解一些观点.

为什么我们忽略了效率?

例如,这个答案说最终的复杂性2N + 2O(N); 我们也删除了领先2的系数和最终的常数2.

删除2可能可以理解的最终常量.毕竟,N可能会非常大,因此"遗忘"决赛2可能只会将总比例改变一小部分.

但是,我无法清楚地了解如何消除领先的系数并没有产生影响.如果2上面的领先成为a 1或a 3,则对总计的百分比变化将很大.

同样,显然2N^3 + 99N^2 + 500O(N^3).我们如何忽视99N^2500

algorithm complexity-theory big-o time-complexity

17
推荐指数
2
解决办法
3633
查看次数

如何加速python循环

我看了几个网站上的几个讨论,但没有一个给我一个解决方案.这段代码运行时间超过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.

那么,它们会提高循环速度吗?还有其他解决方案吗?

python performance nested-loops

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

从外部到内部打印整数列表的最快方法

请考虑以下问题:

你收到一些整数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)内存,最快的方法是什么?

sorting algorithm time-complexity data-structures

15
推荐指数
2
解决办法
536
查看次数

获得两个对象数组之间差异的有效方法?

我有两个对象数组:

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}.

因为数组可能很大,所以我需要一种有效的方法来做到这一点.

javascript arrays diff

14
推荐指数
2
解决办法
2万
查看次数

为什么要排序字符串O(n log n)?

可能重复:
Big O的简单英文解释

在编程难题的答案中,它表示对字符串进行排序需要O(n log n)时间.这是怎么衍生出来的?

是否有人为Big O资源提供了良好的参考链接.

谢谢

algorithm big-o

13
推荐指数
2
解决办法
2万
查看次数

查找数组中最接近的数字

首先,我们必须在数组中查找是否存在所需的数字?如果没有,那么我如何在Java中找到给定所需数字的更接近的数字?

java

12
推荐指数
2
解决办法
2万
查看次数

尾递归Fibonacci

如何在O(n)中没有运行循环的情况下实现递归Fibonacci函数?

python big-o fibonacci

12
推荐指数
1
解决办法
2万
查看次数