【发布时间】:2021-12-05 09:47:34
【问题描述】:
考虑任何问题,在输入中给定一个大小为 n 的数组。在那个问题中,您可以修改数组。因此,假设您解决了在 O(n) 时间内提出的问题,并且除了修改给定数组之外,您没有使用任何额外的空间。那么,对给定数组的修改是否会被视为 O(n) 空间复杂度?或者空间复杂度仍然保持不变,因为除了修改给定的数组之外没有使用任何额外的空间?
【问题讨论】:
-
允许修改其输入但最多使用 O(log(n)) 额外空间的算法通常称为 in-place 算法。 O(log(n)) 额外空间是存储输入索引或指针所需的空间。例如见Wikipedia: In-place algorithm # In computational complexity
标签: arrays algorithm space-complexity