Временная сложность алгоритма, который вычисляет мощность

Я реализовал эту функцию psedocode Fastpower(), которая принимает два аргумента a и b и вычисляет ab (где a и b - положительные целые числа)

 FastPower(a,b) :
  if b = 1
    return a
  else
    c := a*a
    ans := FastPower(c,[b/2])
  if b is odd
    return a*ans
  else return ans
end

Здесь [x] обозначает функцию этажа, то есть наибольшее целое число, меньшее или равное x.

Каково будет общее асимптотическое время выполнения вышеуказанного алгоритма (как функция от b)?

Кто-нибудь может мне помочь в этом? Я сталкиваюсь с трудностями в поиске общего асимптотического времени выполнения.

Заранее спасибо за ваше объяснение.

0 ответов

Другие вопросы по тегам