Suvarna Garge (Editor)

Index mapping

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

Index mapping (or direct addressing, or a trivial hash function) in computer science describes using an array, in which each position corresponds to a key in the universe of possible values. The technique is most effective when the universe of keys is reasonably small, such that allocating an array with one position for every possible key is affordable. Its effectiveness comes from the fact that an arbitrary position in an array can be examined in constant time.

Contents

Applicable arrays

There are many practical examples of data whose valid values are restricted within a small range. A trivial hash function is a suitable choice when such data needs to act as a lookup key. Some examples include:

  • month in the year (1–12)
  • day in the month (1–31)
  • day of the week (1–7)
  • human age (0–130) – e.g. lifecover actuary tables, fixed term mortgage
  • ASCII characters (0–127), encompassing common mathematical operator symbols, digits, punctuation marks and English language alphabet
  • Examples

    Using a trivial hash function, in a non-iterative table lookup, can eliminate conditional testing and branching completely, reducing the instruction path length of a computer program.

    Avoid branching

    Roger Sayle gives an example of eliminating a multiway branch caused by a switch statement:

    Which can be replaced with a table lookup:

    References

    Index mapping Wikipedia