adjo9835 / CSCI2270_FinalProject

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CSCI2270_FinalProject

Summary: This project will compare the effectiveness of several non-cryptographic hashing algorithms through examining their uniqueness and speed. For each algorithm, a set of data will be input and the algorithm's number of collisions and average time spent hashing will be recorded. Each algorithms efficacy can be compared using these parameters. The class will contain the methods to compare the functions, and algorithms can be put into different methods and compared in the overall wrapper.

Research shows that increasing hash table size may reduce the number of collisions. This program will examine this behavior by incrementally increasing table size by 10% from 100 to 130 and observing if collisions increase or decrease while using the same number of keys.

Group members: N/A

How to Run: Note - this project was tested on Geany 1.23.1 Using Geany - start by loading the following files to a common directory and changing your command line location to that directory. There is a terminal tab in the bottom left of Geany that can be used to compile and run the program.

Compile the project using command: g++ -std=c++11 Project.cpp HashTable.cpp

The program can be run using: ./a.out uuid.txt

uuid.txt is the input file which contains unique keys generated by Linux command 'uuidgen'. There are a total of 1 million uuid keys in the input file, but may be substituted with any unique key the user wishes to test - social security numbers, for example.

Dependencies: Program must be compiled using c++11, should run on all versions of Geany.

System Requirements: The program reads through all keys in the input file and thus needs enough space to store the input file. The included uuid.txt file is around 35 Mb in size, so the system testing this program will need at least that much
available memory to store the file. The program was tested exclusively in Ubuntu, but should perform as expected in both Windows and MacOS.

Contributors:

Open issues/bugs:

About


Languages

Language:C++ 100.0%