Optimum Algorithms for a Model of Direct Chaining (original) (raw)

1985, SIAM Journal on Computing

Direct chaining is a popular and efficient class of hashing algorithms. In this paper we study optimum algorithms among direct chaining methods, under the restrictions that the records in the hash table are not moved after they are inserted, that for each chain the relative ordering of the records in the chain does not change after more insertions, and that only one link field is used per table slot. The varied-insertion coalesced hashing method (VICH), which is proposed and analyzed in [CV84], is conjectured to be optimum among all direct chaining algorithms in this class. We give strong evidence in favor of the conjecture hy showing that VICH is optimum under fairly general conditions. Key words, analysis of algorithms, searching, information retrieval, hashing, coalesced hashing, data structures, optimality 1. Introduction. There are many classes of hashing algorithms in use today" separate chaining, coalesced hashing, linear probing, double hashing, and quadratic probing, to name a few. (More details can be found in [Knu73].) Comparisons between hashing algorithms in different classes are often difficult, because each class has its own assumptions, storage requirements, and tradeoffs. For example, some hashing algorithms (as in [Bre73]) do extra work during insertion in order to speed up later searches. In some applications, the preferred class of hashing methods is determined