我知道 Javascript 标准没有为数组等方法指定所需的时间复杂度,unshift
但在特定的 Javascript 引擎(如 V8)中是否有时间复杂度的参考?
问问题
1086 次
2 回答
9
在特定的 Javascript 引擎(如 V8)中是否有时间复杂度的参考?
没有。
正如您可能已经知道的那样,ECMA 规范没有指定边界复杂度,该引擎也没有。每个 JavaScript 引擎都可以自由实现自己的功能,只要它与标准兼容。
例如,V8 不为其方法提供时间复杂度。
您当然可以查看源代码,在我们的脑海中构建使用的算法,理解它,分析它,然后为它的时间复杂度提出一个界限。
于 2017-09-26T09:09:04.303 回答
6
检查这个。
突变方法。
- 推() - 0(1)
- 流行() - 0(1)
- 移位() - 0(n)
- unshift() - 0(n)
- 拼接() - 0(n)
- 排序() - 0(n log(n))
访问器方法
- 连接() - 0(n)
- 切片() - 0(n)
- indexOf() - 0(n)
迭代方法
- forEach() - 0(n)
- 地图() - 0(n)
- 过滤器() - 0(n)
- 减少() - 0(n)
于 2021-02-05T11:26:35.427 回答