Javascript ES6 中的键控集合:计算/时间复杂度
ES6 规范提供了键控集合(Set、Map、WeakSet 和 WeakMap)具有特定的计算/时间复杂度保证。这些集合实现了可观察的语义,要求平均次线性访问时间,与集合中元素的数量成正比。
虽然规范没有规定特定的算法,但它建议实现使用高性能的算法。然而,规范并没有明确要求对 Set.prototype.has、添加和删除等操作进行常量时间访问 (O(1))。
规范本身有一个重要的说明,指出: Keyed Collections 规范中使用的数据结构仅用于描述所需的可观察语义,而不是具体的实现模型。这为实现使用哈希表或类似结构来实现持续访问提供了可能性。
总之,虽然 ES6 规范没有严格要求 Keyed Collections 的时间复杂度为 O(1),但它强烈鼓励实现使用高性能算法。因此,大多数实现都旨在提供恒定的平均访问时间。
以上是Javascript ES6 中键控集合的计算/时间复杂度保证是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!