使用Python extend函数将二维数组转一维:空间复杂度是多少?
用extend将Python二维数组转为一维数组的空间复杂度
当你通过extend操作把二维数组合并为一维数组时,空间复杂度是O(N),其中N是二维数组中所有元素的总个数。
具体说明:
- 你需要初始化一个空列表来存放最终的一维结果,这个列表最终会容纳N个元素,因此需要占用O(N)的存储空间。
extend操作是将子数组的元素逐个添加到目标列表中,过程中不会额外开辟与N同规模的临时空间,仅存在少量用于遍历和元素复制的常数级开销,这部分可以忽略不计。
示例代码:
two_d = [[1, 2], [3, 4, 5], [6]] one_d = [] for sub in two_d: one_d.extend(sub)
这里最终one_d包含6个元素,空间开销由这6个元素的存储决定,对应O(6)=O(N)的空间复杂度。
内容的提问来源于stack exchange,提问作者Tausif Anwer
相关产品推荐
相关产品推荐

