我有一个算法,我需要计算它的复杂性。我接近答案,但我有一点数学问题:系列的总和公式是什么
½(n 4 + n 3 )其中n的模式为1,2,4,8 ......所以该系列变为:
½(1 4 +1 3 )+½(2 4 +2 3 )+½ (4 4 +4 3 )+ 1/2(8 4 +8 3 )+ ...
答案 0 :(得分:3)
对于k = 0,1,2 ......
,将n表示为2 ^ k可能会有所帮助将其替换为原始公式以获得表格的条款(16 ^ k + 8 ^ k)/ 2.
你可以把它分成两个单独的总和(一个是基数16,另一个是基数8), 每个都是几何系列。
S1 = 1/2(16 ^ 0 + 16 ^ 1 + 16 ^ 2 + ...)
S2 = 1/2(8 ^ 0 + 8 ^ 1 + 8 ^ 2 + ...)
几何级数的第J个部分和是(1-r ^ J)/(1-r)其中a是初始值 值和r连续项之间的比率。对于S1,a = 1/2,r = 16。对于S2,a = 1/2, R = 8。
将它乘以它我相信你会发现前J个项的总和是O(16 ^ J)。
答案 1 :(得分:1)
你问的是
来自r = 1的½Σ((2 r ) 4 +(2 r ) 3 )到n
(抱歉这个丑陋的数学;这里没有LaTeX。)
结果是16/15 16 n + 8/7 8 n - 232/105
请参阅http://www.wolframalpha.com/input/?i=sum+%282%5Er%29%5E4%2B%282%5Er%29%5E3+from+r%3D1+to+n。
您不需要确切的公式。您需要知道的是,这是一个O(16 n )算法。
答案 2 :(得分:0)
感谢你们所有人......我正在寻找的最终公式(基于你的作品)是:
((1/15 2^(4(log2(n)+1)) + 8^(log2(n)+1)/7 -232/105)/2) + 1
这将得到与运行算法
的程序相同的结果答案 3 :(得分:-1)
看起来你的系列没有收敛......也就是说,总和是无穷大。也许你的公式错了,或者你问错了。