构造函数的输入是否构成空间复杂性?

时间:2014-06-17 21:00:18

标签: algorithm time-complexity

空间复杂度定义为:Auxiliary Space is the extra space or temporary space used by an algorithm.

那么下面代码的空间复杂性是什么?输入字符串str不会添加任何辅助空间,但构造函数确实使用了一些空格。

空间复杂度为O(1)还是O(n),其中n是设定大小?

public class AsymptoticNotationForSearch {

    private final Set<String> set;

    public AsymptoticNotationForSearch(Set<String> strSet) {
        this.set = strSet;
    }


    public boolean contains(String str) {
        return set.contains(str);
    }

}

1 个答案:

答案 0 :(得分:3)

它是O(1) - 变量集只是一个对象引用,它使用的空间是静态的,并且不依赖于传入的集合的大小。只有你制作了该集合的副本才会是O (n)的