Если 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 внутренних "распакованных" итераторов. Но я очень не уверен в этом.