
   Code to Accompany Chapter 13: Hashing Algorithms

   Contributed by:
      Qi-Fan Chen and Edward Fox
      Virginia Tech University
      Blacksburg VA 24061

   The files in this directory contain code for implementing minimal 
   perfect hashing functions.  This directory should contain the
   following files:

   makefile     Builds object code and test drivers

   keywords     Hashing function test data

   comphfns.h   Header for module to compute hash functions for a key
   comphfns.c   Code to compute hash functions for a key
   const.h      Global constant definitions
   main.c       Routine driving minimal perfect hash function creation
   mapp.c       Implements the mapping stage of the mphf algorithm
   order.c      Implements the ordering stage of the mphf algorithm
   pmrandom.c   Code for a random number generator
   pmrandom.h   Header for a random number generator
   rantab.c     Routines for handling random number tables
   rantab.h     Header for random number tables module
   regendrv.c   Test driver for regenerating a has function
   regenphf.c   Code to regenerate a hashing function
   regenphf.h   Header for the module to regenerate a hashing function
   search.c     Implements the searching stage of the mphf algorithm
   support.c    Some useful support routines
   support.h    Header for support routines
   types.h      Global type definitions
   vheap.c      Code for "virtual heaps", combinations of stacks and heaps
   vheap.h      Header for virtual heaps module

   Detailed information about the implementation and how to use it can 
   be found in the Makefile and the various source code files.
