Как рассчитать пространственную сложность использования памяти на каждой итерации - PullRequest
0 голосов
/ 10 июля 2020
def afunction(list):
    for i in list:
         temp = [elem for elem in list]
    return 0

В приведенной выше функции на каждой итерации функция будет тратить дополнительную память для создания нового временного списка, для которого используется пространство O (N). Существует N таких итераций, означает ли это, что пространственная сложность этой функции равна O (N ^ 2)?

Может ли кто-нибудь объяснить пространственную сложность этой функции?

1 Ответ

1 голос
/ 10 июля 2020

Внутри l oop находится не более 2 промежуточных списков в полете:

  • Список уже привязан к temp;
  • Список, который создается для замены это.

Оба они имеют длину N, поэтому пространственная сложность этой функции равна O (2N) или просто O (N).

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