当我是一个特定的值,说男,那么你哆。玛循环迭代总数超过第j。如果我们说,每个循环迭代花费了时间“1”,那么他们的M个需要时间M.当我是一个少,M-1,那么你做的M-1的操作是什么,以及一个仍然较少,M-2,你没有为M-2的操作。操作通过执行i的时间总数= M是1 + 2 + 3 + 4 ... + M,它是M *(M + 1)/ 2。
因此,通过2 ^ 13的操作结束时,你正在做的2 ^ 13 *(2 ^ 13 + 1)/ 2 = 2 ^ 12 *(2 ^ 13 + 1)= 33558528的操作。
......这是要需要一段时间。
在我的系统中,n = 2 ^ 10耗费了约1/4秒,对于什么将是2 ^ 10 *(2 ^ 10 + 1)/ 2 = 524800操作。如果每个循环为恒定的时间,我们可以预测524800分之33558528* 0.25 =约15秒。
足够近。
0评论
登入评论。