这段代码的运行时间是多少?是n log n还是n?

时间:2017-09-15 23:10:59

标签: time-complexity

我已经编写了这段代码来使用分而治之法找到pow(a,n)。我不确定这段代码的复杂程度。是n还是nlog n?

pow(a,n)
{
  if n->1 return a
  i<-floor(n/2)
  j<-ceil(n/2)
  return pow(a,i) * pow(a,j)
}

在这种情况下,组合步骤的复杂性是多重的?它是1还是n?

1 个答案:

答案 0 :(得分:0)

每次拨打pow(a,n)后,大约O(n)会导致〜pow(a,n/2)的约2次呼叫。