Lazy deletion

From HandWiki

In computer science, lazy deletion refers to a method of deleting elements from a hash table that uses open addressing. In this method, deletions are done by marking an element as deleted, rather than erasing it entirely. Deleted locations are treated as empty when inserting and as occupied during a search. The deleted locations are sometimes referred to as tombstones.[1] The problem with this scheme is that as the number of delete/insert operations increases, the cost of a successful search increases. To improve this, when an element is searched and found in the table, the element is relocated to the first location marked for deletion that was probed during the search. Instead of finding an element to relocate when the deletion occurs, the relocation occurs lazily during the next search.[2][3]

References

  1. "Hashing Tutorial: Section 8 - Deletion". https://research.cs.vt.edu/AVresearch/hashing/deletion.php. 
  2. Celis, Pedro; Franco, John (1995), The Analysis of Hashing with Lazy Deletions, Computer Science Department, Indiana University, Technical Report CS-86-14 
  3. Celis, Pedro; Franco, John (1992), "The analysis of hashing with lazy deletions", Information Sciences 62 (1–2): 13–26, doi:10.1016/0020-0255(92)90022-Z