Skip to content

C Program To Implement Dictionary Using Hashing Algorithms • Extended & Quick

typedef struct HashTable { Node** buckets; int size; } HashTable;

A dictionary, also known as a hash table or a map, is a fundamental data structure in computer science that stores a collection of key-value pairs. It allows for efficient retrieval of values by their associated keys. Hashing algorithms are widely used to implement dictionaries, as they provide fast lookup, insertion, and deletion operations.

A dictionary is a data structure that stores a collection of key-value pairs, where each key is unique and maps to a specific value. In this paper, we implement a dictionary using hashing algorithms in C programming language. We use a hash function to map keys to indices of a hash table, which stores the key-value pairs. The goal of this implementation is to provide efficient insertion, search, and deletion operations. We discuss the design and implementation of the dictionary using hashing algorithms and present the C code for the same. c program to implement dictionary using hashing algorithms

#define HASH_TABLE_SIZE 10

// Hash function int hash(char* key) { int hashCode = 0; for (int i = 0; i < strlen(key); i++) { hashCode += key[i]; } return hashCode % HASH_TABLE_SIZE; } typedef struct HashTable { Node** buckets; int size;

// Create a new node Node* createNode(char* key, char* value) { Node* node = (Node*) malloc(sizeof(Node)); node->key = (char*) malloc(strlen(key) + 1); strcpy(node->key, key); node->value = (char*) malloc(strlen(value) + 1); strcpy(node->value, value); node->next = NULL; return node; }

// Search for a value by its key char* search(HashTable* hashTable, char* key) { int index = hash(key); Node* current = hashTable->buckets[index]; while (current != NULL) { if (strcmp(current->key, key) == 0) { return current->value; } current = current->next; } return NULL; } A dictionary is a data structure that stores

int main() { HashTable* hashTable = createHashTable(); insert(hashTable, "apple", "fruit"); insert(hashTable, "banana", "fruit"); insert(hashTable, "carrot", "vegetable"); printHashTable(hashTable); char* value = search(hashTable, "banana"); printf("Value for key 'banana': %s\n", value); delete(hashTable, "apple"); printHashTable(hashTable); return 0; }