किस समय जटिलता (बिग-ओ नोटेशन में) कुंजी संग्रह के लिए ईएस 6 विनिर्देश (सेट, मानचित्र, कमजोर और कमजोर) के लिए प्रदान की जाती है?
मेरी अपेक्षा, और मैं अधिकांश डेवलपर्स से अपेक्षा करता हूं, यह है कि विनिर्देशों और कार्यान्वयन व्यापक रूप से स्वीकार किए गए प्रदर्शन एल्गोरिदम का उपयोग करेंगे , जिस स्थिति में Set.prototype.has
, add
और delete
सभी के लिए औसत मामले में ओ (1) होगा। Map
और Weak–
समकक्षों के लिए समान।
यह पूरी तरह से मेरे लिए स्पष्ट नहीं है कि क्या कार्यान्वयन की समय जटिलता को अनिवार्य किया गया था उदाहरण के लिए ECMAScript 2015 भाषा विनिर्देश - 6 वें संस्करण - 23.2 सेट ऑब्जेक्ट्स ।
जब तक मैं इसे गलत नहीं समझता (और यह निश्चित रूप से बहुत संभव है कि मैं करता हूं), यह ईसीएमए कल्पना को दर्शाता है कि कार्यान्वयन (जैसे Set.prototype.has
) एक रैखिक समय ( ओ (एन) ) एल्गोरिदम का उपयोग करने के लिए हैं । यह मुझे अत्यधिक आश्चर्यचकित करेगा कि अधिक प्रदर्शन करने वाले एल्गोरिदम को युक्ति द्वारा अनिवार्य या अनुमति नहीं दी जाएगी, और मुझे इस बात के लिए स्पष्टीकरण में बहुत दिलचस्पी होगी कि यह मामला क्यों है।