Метод Акра-Бацци для нахождения временных сложностей
Теорема Мастера - популярный метод решения повторяющихся временных сложностей в форме:
С ограничениями на a, b и f(n). Форма рекуррентного отношения ограничивает применимость теоремы Мастера. Ниже приведены три повторения, которые нельзя решить напрямую с помощью теоремы мастера:
Метод Акра-Бацци : в этой статье исследуется другой метод решения таких повторений, разработанный Мохаммадом Акрой и Луай Баззи в 1996 году . Метод Акра-Бацци можно применять к рецидивам следующей формы:
куда, а также
такие константы, что:
Далее найдите такое p, что
затем
Примеры
Рассмотрим три рекуррентности, рассмотренные выше, и решим их методом:
Пример 1.
Здесь
- a1 = 3
- b1 =
- a2 = 2
- b2 =
- b1 and b2 are in the range (0, 1)
- g(n) = heta(n) which is O(nc), here c can be 1.
В этой задаче h 1 (n) и h 2 (n) отсутствуют.
Здесь p=1 удовлетворяет
Окончательно,
=>
=>
=>
=>
Пример 2.
Здесь
- a =
- b =
- g(n) =
- b is in the range (0, 1)
- g(n) = heta(n^2) which is in O(nc), here c can be 1.
В этой задаче h(n) отсутствует.
Здесь p= – 1 удовлетворяет
Окончательно,
=>
=>
=>
=>
=>
Пример 3.
Здесь
- a = 9
- b =
- g(n) = heta(n)
- b is in the range(0, 1)
- g(n) =
which is O(nc), here c can be 1.
- h(n) =
which is
Здесь p=2 удовлетворяет
Окончательно,
=>
=>
=>
=>
=>
=>
Преимущества:
- Работает для многих алгоритмов «разделяй и властвуй».
- Имеет меньшее ограничение на формат повторения, чем Теорема Мастера.
- p можно рассчитать с помощью численных методов для сложных рекуррентных соотношений.
Недостатки:
- Не работает, когда рост g(n) не является ограниченным полиномом. Например, g(N) = 2 N .
- Не работает с потолочными и напольными функциями.