Lazy deletion

From Wikipedia, the free encyclopedia
Jump to: navigation, search

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 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.[1][2]


  1. ^ Celis, Pedro; Franco, John (1995), The Analysis of Hashing with Lazy Deletions, Computer Science Department, Indiana University, Technical Report CS-86-14 
  2. ^ Celis, Pedro; Franco, John (1992), "The analysis of hashing with lazy deletions", Information Sciences, 62: 13, doi:10.1016/0020-0255(92)90022-Z