Javascript 将数组转换为集合的时间复杂度(Big-O)
因此,在JS中有多种方法可以将数组转换为集合 示例#2肯定是O(n),因为它遍历数组的所有元素。例如#1,情况也是这样吗?或者JS在后台为我们做一些优化 如果是,使用示例1是否有任何缺点 例1 例2 还是Javascript 将数组转换为集合的时间复杂度(Big-O),javascript,arrays,set,big-o,computer-science,Javascript,Arrays,Set,Big O,Computer Science,因此,在JS中有多种方法可以将数组转换为集合 示例#2肯定是O(n),因为它遍历数组的所有元素。例如#1,情况也是这样吗?或者JS在后台为我们做一些优化 如果是,使用示例1是否有任何缺点 例1 例2 还是O(n);JS没有神奇的方法可以将所有n元素放入Set中,而不实际遍历所有n元素。低于O(n)的唯一方法是跳过一些元素,如果必须考虑将所有元素都包含在集合中,这显然是不可能的 const arr = [ 1, 3, 2, 3, 5 ]; const set = new Set(arr); co
O(n)
;JS没有神奇的方法可以将所有n
元素放入Set
中,而不实际遍历所有n
元素。低于O(n)
的唯一方法是跳过一些元素,如果必须考虑将所有元素都包含在集合中,这显然是不可能的
const arr = [ 1, 3, 2, 3, 5 ];
const set = new Set(arr);
console.log(set);
/*
Output: Set { 1, 3, 2, 5 }
*/
const arr = [ 1, 3, 2, 3, 5 ];
const set = new Set();
arr.map(item => set.add(item));
console.log(set);
/*
Output: Set { 1, 3, 2, 5 }
*/