Какова временная и пространственная сложность zip (* a [:: - 1])? - PullRequest
1 голос
/ 25 марта 2020

Если a представляет собой List[List[int]], представляющий собой матрицу, какова временная и пространственная сложность a = zip(*a[::-1])?

Мои мысли

  • Время -сложность должна быть не менее O (n ^ 2), потому что мы касаемся n ^ 2 элементов. Я предполагаю, что каждый элемент касается ровно дважды (переворачивание / переворачивание с a[::-1] и транспонирование с zip(*reversed))
  • list(zip(*a[::-1])) возвращает копию, поэтому сложность пространства будет по крайней мере n ^ 2. Но zip возвращает итератор, поэтому я не уверен.
  • Я особенно не уверен насчет сложности пространства, потому что я прочитал, что zip(*inner) распаковывает внутренние итерации ( source ). Я предполагаю, что он хранит дополнительно к входу O (n) для хранения указателей для n внутренних "распакованных" итераторов. Но я очень не уверен в этом.
...