Что такое + n для - PullRequest
       1

Что такое + n для

1 голос
/ 27 апреля 2011

Для этого алгоритма

Bugs(n)
    if n = 0 generate 5 bugs
    else 
        Bugs(n-2);
        for i ← 1 to n
            generate 1 bug
        Bugs(n-2);

Отношение повторения: T(n) = 2T(n-2) + n, T(0) = 5

Почему существует a +n?Это потому, что они только один для цикла, поэтому если их будет два для цикла, это будет + n^2?

1 Ответ

7 голосов
/ 27 апреля 2011

Хорошо, посмотрите, что он делает для случая n! = 0:

  • Он вызывает ошибки (n-2), поэтому T(n-2) для этой части
  • Он генерирует n ошибок - поэтому n при условии, что «сгенерировать 1 ошибку» постоянен
  • Он вызывает ошибки (n-2) - так что T(n-2) again

Всего: 2T(n-2) + n

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...