代码之家  ›  专栏  ›  技术社区  ›  zildjohn01

三角数的大O符号?

  •  5
  • zildjohn01  · 技术社区  · 15 年前

    triangular 时间?举个例子:

    func(x):
      for i in 0..x
        for j in 0..i
          do_something(i, j)
    

    我的第一直觉是 O(n²) ,但我不完全确定。

    6 回复  |  直到 15 年前
        1
  •  19
  •   Brian    15 年前

    是的,N*(N+1)/2,当你去掉常数和低阶项,剩下N平方。

        2
  •  1
  •   Janick Bernet    15 年前

    是 啊, O(n^2) 绝对正确。如果我没记错的话,O总是一个上界,所以 O(n^3) O(n^n) 或者别的什么。然而 O(n^2)

        3
  •  1
  •   rajeshnair    15 年前

        4
  •  0
  •   reece    15 年前

    ((n+1)^2)/2 . 因此,这是计算时间:O(((n+1)^2)/2)

        5
  •  0
  •   Serdar Sanli    15 年前

    然后算法的运行时间将从t增加到4t

    所以算法是O(n^2)

        6
  •  -3
  •   Paul    13 年前



    它也可以表示为O(n^2)对我来说这似乎有点误导,因为执行的量总是O(n^2)执行量的一半。