Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Implement this hash dictionary #ifndef __HASH_H #define __HASH_H #include #include #include using namespace std; /* private: void rehash(); int hash_function(KEYTYPE key); public: bool insert(KEYTYPE key,

Implement this hash dictionary

#ifndef __HASH_H #define __HASH_H

#include #include #include

using namespace std; /* private: void rehash(); int hash_function(KEYTYPE key); public: bool insert(KEYTYPE key, VALTYPE val); bool contains(KEYTYPE key); int remove(KEYTYPE key); VALTYPE* find(KEYTYPE key); int size(); // Elements currently in table bool empty(); // Is the hash empty? float load_factor(); // Return current load factor void clear(); // Empty out the table int bucket_count(); // Total number of buckets in table */

template class Hashtable { private: // main hash table table //vector< type > _hash;

/** * Rehash the table into a larger table when the load factor is too large */ void rehash() {

}

/** * Function that takes the key (a string or int) and returns the hash key * This function needs to be implemented for several types it could be used with! */ int hash_function(int key) { cout << " Hashing with int type keys." << endl; }

int hash_function(string key) { cout << " Hashing with string type keys." << endl; }

public: /** * Basic constructor */ Hashtable( int startingSize = 101 ) {

}

/** * Add an element to the hash table */ bool insert(KEYTYPE key, VALTYPE val) { // Currently unimplemented }

/** * Return whether a given key is present in the hash table */ bool contains(KEYTYPE key) { return false; }

/** * Completely remove key from hash table * Returns number of elements removed */ int remove(KEYTYPE key) { // Doesn't actually remove anything yet }

/** * Searches the hash and returns a pointer * Pointer to Word if found, or nullptr if nothing matches */ VALTYPE* find(KEYTYPE key) { return nullptr; }

/** * Return current number of elements in hash table */ int size() { return(-1); }

/** * Return true if hash table is empty, false otherwise */ bool empty() { return(false); }

/** * Calculates the current load factor for the hash */ float load_factor() { //return _hash.load_factor(); return (-1.0); }

/** * Returns current number of buckets (elements in vector) */ int bucket_count() { return (-1); }

/** * Deletes all elements in the hash */ void clear() { // Does nothing yet }

};

#endif

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Harness The Power Of Big Data The IBM Big Data Platform

Authors: Paul Zikopoulos, David Corrigan James Giles Thomas Deutsch Krishnan Parasuraman Dirk DeRoos Paul Zikopoulos

1st Edition

0071808183, 9780071808187

More Books

Students also viewed these Databases questions

Question

=+ how might this lead to faster growth in productivity?

Answered: 1 week ago