Javascript ES6 中的鍵控集合:計算/時間複雜度
ES6 規格提供了鍵控集合(Set、Map、WeakSet和WeakMap)具有特定的計算/時間複雜度保證。這些集合實現了可觀察的語義,要求平均次線性存取時間,與集合中元素的數量成正比。
雖然規範沒有規定特定的演算法,但它建議實作使用高效能的演算法。然而,規範並沒有明確要求對 Set.prototype.has、新增和刪除等操作進行常數時間存取 (O(1))。
規格本身有一個重要的說明,指出: Keyed Collections 規格中使用的資料結構僅用於描述所需的可觀察語義,而不是具體的實作模型。這為實現使用哈希表或類似結構來實現持續存取提供了可能性。
總之,雖然 ES6 規範沒有嚴格要求 Keyed Collections 的時間複雜度為 O(1),但它強烈鼓勵實作使用高效能演算法。因此,大多數實作都旨在提供恆定的平均存取時間。
以上是Javascript ES6 中鍵控集合的計算/時間複雜度保證是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!