如何计算封闭的形式为以下伪代码?

问题描述 投票:0回答:1

我需要用下面的问题有所帮助:

分析以下程序片段的运行时间和写(在C ++)的伪代码将输出这一点,但其值在一定的时间中运行。你可以假设n为早前在节目中给出。

 sum = 0
 for i from 1 to n-1 do
   for j from i to n*n do
     sum = sum + i

我所达:我知道,时间复杂度为以下程序片段且O(N2):

sum = n*n*(n)*(n-1)/2-(n-1)*n*(2*(n-1)+1)/6+(n-1)*n/2;

我不能确定如何把这个变成伪格式。任何帮助将不胜感激,谢谢!

c++ algorithm pseudocode
1个回答
0
投票
 sum <- n*n*(n)*(n-1)/2-(n-1)*n*(2*(n-1)+1)/6+(n-1)*n/2

就这样。有一个在当你知道封闭形式的公式循环没有必要。

计算与这样的公式具有恒定时间复杂度

© www.soinside.com 2019 - 2024. All rights reserved.