我正在尝试计算Big theta中的时间复杂度。请帮我解决这个问题。
Q值。有两个函数, sub1 和 sub2 ,它们的时间复杂度分别为θ(4 ^ n),θ(n ^ 4 * log(n))。如果是这样,请发现以下两个问题。
Q1。 for(i=1; i<n; i*=4) sub1();
Q2。 for(i=1; i<n; i+=4)
for(j=1; j<n; j*=4) { sub1(); sub2(); sub1(); sub2(); }
答案 0 :(得分:0)
S1。函数 sub1 被称为(log_4(n))次。因此总时间复杂度为:θ(4 ^ n log_4(n))=θ(4 ^ n log(n))
S 2。第一个循环发生n / 4次,第二个循环发生log_4(n)次。通过定义θ,每个步骤取2 *θ(4 ^ n)+ 2 *θ(n ^ 4 * log(n))=θ(4 ^ n)。因此,总时间为:n / 4 * log_4(n)*θ(4 ^ n)=θ(n)*θ(log(n))*θ(4 ^ n)=θ(n * 4 ^ n * log(n)),再次定义为θ。