空间复杂度定义为: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);
}
}
答案 0 :(得分:3)
它是O(1) - 变量集只是一个对象引用,它使用的空间是静态的,并且不依赖于传入的集合的大小。只有你制作了该集合的副本才会是O (n)的