如果我有两个长度均为10000的数组,现在我想将它们合并成一个数组,那么我可以使用concat方法:
array1=array1.concat(array2);
但是有人知道运行时间是多久吗?是常数还是N?在速度方面是否有更好的合并方式。感谢任何提示。
如果我有两个长度均为10000的数组,现在我想将它们合并成一个数组,那么我可以使用concat方法:
array1=array1.concat(array2);
但是有人知道运行时间是多久吗?是常数还是N?在速度方面是否有更好的合并方式。感谢任何提示。
我怀疑 ECMAScript 规范没有针对任何操作制定大O性能要求,因此这将取决于实现。唯一验证的方法是编写基准测试并在目标解释器上运行。
话虽如此,我猜测大多数 JavaScript 解释器将数组实现为向量类型数组而不是链表,因此在大多数引擎上,连结操作很可能是 O(n)
。