scispace - formally typeset
Search or ask a question
Journal ArticleDOI

Reciprocal hashing: a method for generating minimal perfect hashing functions

01 Dec 1981-Communications of The ACM (ACM)-Vol. 24, Iss: 12, pp 829-833
TL;DR: A method is presented for building minimal perfect hash functions, i.e., functions which allow single probe retrieval from minimally sized tables of identifier sets, and a proof of existence for minimalperfect hash functions of a special type (reciprocal type) is given.
Abstract: A method is presented for building minimal perfect hash functions, i.e., functions which allow single probe retrieval from minimally sized tables of identifier sets. A proof of existence for minimal perfect hash functions of a special type (reciprocal type) is given. Two algorithms for determining hash functions of reciprocal type are presented and their practical limitations are discussed. Further, some application results are given and compared with those of earlier approaches for perfect hashing.
Citations
More filters
Journal ArticleDOI
TL;DR: A data structure for representing a set of n items from a universe of m items, which uses space n+o(n) and accommodates membership queries in constant time and is easy to implement.
Abstract: A data structure for representing a set of n items from a umverse of m items, which uses space n + o(n) and accommodates membership queries m constant time is described. Both the data structure and the query algorithm are easy to ~mplement.

943 citations


Cites background from "Reciprocal hashing: a method for ge..."

  • ...This question has been considered in various papers, for example, [1]-[4]....

    [...]

Patent
16 Jun 1989
TL;DR: In this paper, a message routing system couples a transmitter at any one system input to a receiver at any other system output using a message format that is structure independent of the location of the receiver in the system.
Abstract: A plurality of disparate communication network systems communicate with each other through the use of different physical media protocols. Each of the systems has at least one input and one output. A message routing system couples a transmitter at any one system input to a receiver at any other system output using a message format that is structure independent of the location of the receiver in the system. Each receiver/transmitter device coupled to any one system input has a unique, fixed and unchangeable identification code regardless of the communication network system to which it is connected. To couple a message from any one receiver/transmitter device to a second receiver/transmitter device at an unknown location within the communication network system, a message format is transmitted from the sending location containing the fixed, unique identification code of the receiving station. A routing system having a plurality of intermediate routing devices receives the message format and couples it to the receiving station at the unknown location using only the fixed, unique identification codes of the transmitting and receiving stations and the addresses of the intermediate routing devices for determining routing.

284 citations

Journal ArticleDOI
TL;DR: An efficient digital search algorithm that is based on an internal array structure called a double array, which combines the fast access of a matrix form with the compactness of a list form, is presented.
Abstract: An efficient digital search algorithm that is based on an internal array structure called a double array, which combines the fast access of a matrix form with the compactness of a list form, is presented. Each arc of a digital search tree, called a DS-tree, can be computed from the double array in 0(1) time; that is to say, the worst-case time complexity for retrieving a key becomes 0(k) for the length k of that key. The double array is modified to make the size compact while maintaining fast access, and algorithms for retrieval, insertion, and deletion are presented. If the size of the double array is n+cm, where n is the number of nodes of the DS-tree, m is the number of input symbols, and c is a constant particular to each double array, then it is theoretically proved that the worst-case times of deletion and insertion are proportional to cm and cm/sup 2/, respectively, and are independent of n. Experimental results of building the double array incrementally for various sets of keys show that c has an extremely small value, ranging from 0.17 to 1.13. >

154 citations

Journal ArticleDOI
TL;DR: Using a trace of address references, the author compares the efficiency of several different hashing functions such as cyclic redundancy checking polynomials, Fletcher checksum, folding of address octets using the exclusive-OR operation, and bit extraction from the address.
Abstract: Using a trace of address references, the author compares the efficiency of several different hashing functions such as cyclic redundancy checking polynomials, Fletcher checksum, folding of address octets using the exclusive-OR operation, and bit extraction from the address. Guidelines are provided for determining the size of hash masks required to achieve a specified level of performance. >

134 citations


Cites background from "Reciprocal hashing: a method for ge..."

  • ...Nonethel es s , the above recommendat i ons are usef ul provi di ng that one uses the appropr i ate, most i nf ormat i ve octet i nstead....

    [...]

Journal ArticleDOI
15 Aug 1997

130 citations

References
More filters
Book
01 Jan 1956

331 citations

Journal ArticleDOI
TL;DR: A refinement of hashing which allows retrieval of an item in a static table with a single probe is considered, and a rough comparison with ordinary hashing is given which shows that this method can be used conveniently in several practical applications.
Abstract: A refinement of hashing which allows retrieval of an item in a static table with a single probe is considered. Given a set I of identifiers, two methods are presented for building, in a mechanical way, perfect hashing functions, i.e. functions transforming the elements of I into unique addresses. The first method, the “quotient reduction” method, is shown to be complete in the sense that for every set I the smallest table in which the elements of I can be stored and from which they can be retrieved by using a perfect hashing function constructed by this method can be found. However, for nonuniformly distributed sets, this method can give rather sparse tables. The second method, the “remainder reduction” method, is not complete in the above sense, but it seems to give minimal (or almost minimal) tables for every kind of set. The two techniques are applicable directly to small sets. Some methods to extend these results to larger sets are also presented. A rough comparison with ordinary hashing is given which shows that this method can be used conveniently in several practical applications.

155 citations

Journal ArticleDOI
TL;DR: In this article, a method for computing machine independent, minimal perfect hash functions of the form: hash value ← key length + the associated value of the key's first character + the corresponding value of a key's last character is presented.
Abstract: A method is presented for computing machine independent, minimal perfect hash functions of the form: hash value ← key length + the associated value of the key's first character + the associated value of the key's last character. Such functions allow single probe retrieval from minimally sized tables of identifier lists. Application areas include table lookup for reserved words in compilers and filtering high frequency words in natural language processing. Functions for Pascal's reserved words, Pascal's predefined identifiers, frequently occurring English words, and month abbreviations are presented as examples.

144 citations

Journal ArticleDOI
TL;DR: The end-order tree algorithm is shown to be an advantageous, immediate replacement for the algorithm in use with current simulation languages, and the most promising algorithm uses the indexed list concept.
Abstract: Four algorithms are considered which can be used to schedule events in a general purpose discrete simulation system. Two of the algorithms are new, one is based on an end-order tree structure for event notices, and another uses an indexed linear list. The algorithms are tested with a set of typical stochastic scheduling distributions especially chosen to show the advantages and limitations of the algorithms. The end-order tree algorithm is shown to be an advantageous, immediate replacement for the algorithm in use with current simulation languages. The most promising algorithm uses the indexed list concept. It will require an adaptive routine before it can be employed in general purpose simulators, but its performance is such that further study would be fruitful.

119 citations