Rumah >hujung hadapan web >tutorial js >Apakah Kerumitan Masa Operasi Pengumpulan ES6?
Komputasi/Kerumitan Masa Koleksi ES6
ES6 memperkenalkan beberapa jenis koleksi baharu (Set, Map, WeakSet, WeakMap), dan persoalannya timbul mengenai kerumitan masa mereka. Khususnya, sama ada mereka diberi mandat untuk menggunakan algoritma masa linear (O(n)).
Spesifikasi Bahasa ECMAScript 2015 tidak secara eksplisit mewajibkan kerumitan O(n) untuk operasi ini. Ia menyatakan bahawa "Tetapkan objek mesti dilaksanakan menggunakan mekanisme yang, secara purata, menyediakan masa capaian yang sublinear pada bilangan elemen dalam koleksi."
Ini membolehkan penggunaan algoritma yang lebih cekap, seperti jadual hash, yang menyediakan akses masa malar (O(1)) secara purata. Walaupun tidak diperlukan secara eksplisit oleh spesifikasi, kemungkinan besar pelaksanaan seperti V8 dan JavaScriptCore menggunakan algoritma yang cekap sedemikian.
Penjelasan ini sejajar dengan jangkaan kebanyakan pembangun yang menganggap bahawa algoritma berprestasi akan digunakan dalam pelaksanaan ini , memastikan kerumitan O(1) untuk operasi seperti Set.prototype.has, tambah dan padam.
Atas ialah kandungan terperinci Apakah Kerumitan Masa Operasi Pengumpulan ES6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!