Repository for the implementation of different hashing techniques as well as a bloom filters data structure. Each data structure is tested with a series of experiments to compare their key lookup time and general performance.
This project is structured into 7 main folders
To compile the code you need to run the Makefile with
make
To execute it has to be run with the specified parameters in usage
``` Usage: ./experimenter n load nHashFunctions seed keyPercentage inputDir outputDir
n: the number of keys to insert to the dictionary
load: the load factor of the table, size of the table = n / loadFactor
nHashFunctions: the number of hash functions used by the bloom filters
seed: the random seed for the data generation
keyPercentage: the minimum percentage of keys that appear in the data text files
inputDir: the directory where the generated data must be placed, the directory must exist
outputDir: the directory where the experiment must be placed, the directory must exist
```