ES6 コレクションの計算量/時間計算量
ES6 では、いくつかの新しいコレクション タイプ (Set、Map、WeakSet、WeakMap) が導入され、次のような疑問が生じます。時間の複雑さについて。具体的には、線形時間 (O(n)) アルゴリズムの使用が義務付けられているかどうか。
ECMAScript 2015 言語仕様では、これらの操作に O(n) の複雑さを明示的に義務付けていません。 「Set オブジェクトは、平均して、コレクション内の要素の数に応じてサブリニアなアクセス時間を提供するメカニズムを使用して実装する必要があります。」
これにより、次のようなより効率的なアルゴリズムの使用が可能になります。平均して一定時間のアクセス (O(1)) を提供するハッシュ テーブル。仕様では明示的に要求されていませんが、V8 や JavaScriptCore などの実装では、このような効率的なアルゴリズムが利用される可能性が高くなります。
この説明は、これらの実装ではパフォーマンスの高いアルゴリズムが採用されると想定しているほとんどの開発者の予想と一致しています。 、Set.prototype.has、追加、削除などの操作の複雑さを O(1) にします。
以上がES6 コレクション操作の時間計算量はどのくらいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。