原理
當刪除一個元素時,ISBF需要調整其他元素的片外索引值,並重新構建所有片上CBF,這將導致其刪除開銷高,難以支持動態變化的元素集.為了降低ISBF的刪除開銷,本文提出了一-種懶惰刪除(lazy deletion) 算法,其核心思想是:採用一個片,上刪除點陣圖,用於記錄片外元素的狀態,即0表示未刪除狀態, 1表示刪除狀態;當刪除元素x時,在刪除點陣圖中設定x的狀態位為1, 並從每組並行CBF中刪除r,保持其他元素的片外索引值不變 。
示例
// javascript
var myarr=["frist","2nd","3rd","4th"];
delete myarr[2]; // 刪除第3個 "3rd"
console.info(myarr);// 輸出
0: "frist"
1: "2nd"
3: "4th"
注意1後面是3
這時,如果檢測數組長度,由於是懶惰刪除,因此
console.info(myarr.length);
結果為4。
