【发布时间】:2019-11-23 17:18:30
【问题描述】:
我想知道在 JavaScript 中将扩展与数组一起使用的时间复杂度是多少。是线性 O(n) 还是常数 O(1)?
以下语法示例:
let lar = Math.max(...nums)
【问题讨论】:
-
我没有任何证据,但如果不是 O(n),那就太奇怪了。它必须遍历数组的每个元素。
-
没有展开运算符,有spread syntax。 ;-)
-
@RobG 很抱歉。将编辑问题:)
-
@jhpratt ya 至少最好能看到更清晰的图片,这就是我问哈哈的原因。
-
我认为这将取决于您要比较的替代方案及其运行的实现,例如在 OP 中,与
Math.max.apply(null,nums)相比,可能在主机对象与Array.from(document.getElementsByTagName('p'))或类似的情况下。
标签: javascript arrays time-complexity spread