Можете ли вы помочь мне решить рекуррентное соотношение T (1) = 5, и для всех n> = 2, T (n) = 2T (n-1) (3 * n 1)

#time-complexity #recurrence

#временная сложность #повторение

Вопрос:

T(1)=5 ,

и для всех n>=2: T(n)=2T(n-1) (3*n 1).

Я пытался решить эту проблему, но у меня проблема с 3 * n 1. Когда я ставлю n-1, n-2, …, я не знаю, как определить формулу для этой задачи.

Комментарии:

1. Возможно, я ошибаюсь, но похоже ((2^n)*n)

2. Когда я ставлю n-2, я не получу 3 * n-5

3. Я голосую за закрытие этого вопроса, потому что это вопрос математики, а не вопрос компьютерного программирования.

4. Такие проблемы могут быть решены с помощью систем компьютерной алгебры, например wolframalpha.com/input/?i=T(n)=2T(n-1)+(3 *n+1) даст вам ответ. Учитывая ответ, легко проверить, что это ответ.

Ответ №1:

Поскольку существует только (3*n 1) как термин, а не T(3*n 1) это разрешимо. Первое впечатление: у вас есть 2T(n-1) как промежуточный термин, так что решение примерно такое 2^n .

С помощью простого анализа данных Excel я нашел решение T(n)=-7-3n 15 * 2^(n-1) , я попытаюсь решить его вручную и обновлю свой ответ, если найду правильный путь.

Редактировать: это было сложнее, чем ожидалось…

введите описание изображения здесь

Объяснение:

  • первый шаг — получить формулу суммы для n . Вы можете вывести этот шаблон из первых нескольких T(n) .
  • Как только вы получите шаблон, попробуйте избавиться от суммы.
  • Чтобы решить суммы, попробуйте получить их в том же формате, sum_(i=1)^n (1) = n что и или sum_(i=0)^n (2^i) = 2^(n 1)-1
  • для этого вы можете манипулировать индексом, например, sum_(i=2)^n (n-i) = sum_(i=0)^(n-2) (i) или включать / исключать элементы из суммы.
  • самой сложной частью было решить sum_(i=0)^n ((n-i)*(2^i)) . Идея здесь состоит в том, чтобы преобразовать умножение (в зависимости от i ) в сумму (также в зависимости от i ).
  • пожалуйста, обратите внимание на изменение индексов. sum_(i=0)^n (2^i) это не то же самое, что sum_(i=1)^n (2^i)
  • Путь не самый эффективный, упрощайте по своему усмотрению.