Algorithm 如何证明算法是Θ;(对数n)使用求和表示法?
假设我有以下代码:Algorithm 如何证明算法是Θ;(对数n)使用求和表示法?,algorithm,runtime,asymptotic-complexity,Algorithm,Runtime,Asymptotic Complexity,假设我有以下代码: int sum = 0; int val=128; for (int i=n; i>=1; i=i/2) { for (int j=1; j<val; j++) { sum ++; } } int和=0; int-val=128; 对于(int i=n;i>=1;i=i/2){ 对于(int j=1;ji的值是n,n/2,n/4,…,1。因为它是整数,所以在这个条件下,它的最终值是1。假设n是2^k,那么迭代次数将是k,这是logn。因此
int sum = 0;
int val=128;
for (int i=n; i>=1; i=i/2) {
for (int j=1; j<val; j++) {
sum ++;
}
}
int和=0;
int-val=128;
对于(int i=n;i>=1;i=i/2){
对于(int j=1;ji
的值是n,n/2,n/4,…,1
。因为它是整数,所以在这个条件下,它的最终值是1。假设n
是2^k
,那么迭代次数将是k
,这是logn
。因此情况不会改变,这是的另一个一定数量的迭代
内部循环可以看作是一条语句,因为val
是常量