这个内部for循环在这个算法中运行多少次?

时间:2016-02-09 18:01:03

标签: algorithm

Algorithm (A)
sum = 0
for i = 1 to n
   for j =1 to i 
   sum = sum+1

我有这个算法,我想知道内部for循环运行了多少次。它是(j + 1)从j = 1到n的总和吗?

3 个答案:

答案 0 :(得分:2)

内环执行遵循1 + 2 + 3 + 4 + ... + n = n(n + 1)/ 2的模式,其由O(n 2 )限定。实际执行次数取决于您在说i = 1 to n时算法的含义。也就是说,它会在i == n时结束,还是在i成为n+1之前执行。

有关此特定系列的更多信息,请参阅Triangular Numbers

答案 1 :(得分:1)

是n *(n + 1)/ 2倍,从1到n的整数之和。如果您有时间,可以在http://betterexplained.com/articles/techniques-for-adding-the-numbers-1-to-100/

阅读更好的解释

答案 2 :(得分:0)

Algorithm(A)
sum = 0
for i = 1 to n 
   for j =1 to i   
      sum = sum+1

内在:

  • 第一次外部迭代循环1次
  • 循环2次第二次外部迭代
  • 循环3次第3次外部迭代
  • ...
  • 循环n次第n次外部迭代

n*(n+1)/2

<强>链接

  1. 有关khan academyWikipedia

  2. 的Big-O表示法的信息
  3. 前n个数字的信息和总和here