复制数据结构和空间复杂性

时间:2014-10-11 00:12:04

标签: algorithm space-complexity

我经常被要求编写一些函数,这些函数采用某种类型的参数(如String)并以某种方式对其进行操作,如果它是某些其他数据结构则会更容易。我可以将String转换为字符数组并将String设置为null,同时考虑我的函数取O(1)空间或复制所有元素使它成为O(N)即使我立即删除其他副本?我使用Strings作为例子,因为它们是不可变的。在另一种情况下,我会尝试从一个结构中删除数据,因为我将其添加到另一个结构中。

我只是在这里使用String和char []作为示例。一般来说,我想知道复制我的数据是否会降低算法的空间复杂度,即使我正在删除其他副本。

1 个答案:

答案 0 :(得分:1)

复制会损害您的空间复杂性,因为原始复制和副本同时存在于内存中(即使只是简单的情况),因此您需要有额外的内存可用。即使您没有更多可用内存,也可以执行内存中算法。