Created
March 9, 2025 09:44
-
-
Save samarism/f1d4d9b9c6713311c6ae34ed95f13035 to your computer and use it in GitHub Desktop.
perf_comparison_of_collision_avoidance_strategies_in_hashtables.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "nbformat": 4, | |
| "nbformat_minor": 0, | |
| "metadata": { | |
| "colab": { | |
| "provenance": [], | |
| "authorship_tag": "ABX9TyODCWLFbn1tfi3Br7CrjK9Q", | |
| "include_colab_link": true | |
| }, | |
| "kernelspec": { | |
| "name": "python3", | |
| "display_name": "Python 3" | |
| }, | |
| "language_info": { | |
| "name": "python" | |
| } | |
| }, | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "view-in-github", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "<a href=\"https://colab.research.google.com/gist/samarism/f1d4d9b9c6713311c6ae34ed95f13035/perf_comparison_of_collision_avoidance_strategies_in_hashtables.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 21, | |
| "metadata": { | |
| "id": "cs8zeJOcsR6u", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 487 | |
| }, | |
| "outputId": "56b87a52-258b-49a3-bb26-5a5d3e729ec5" | |
| }, | |
| "outputs": [ | |
| { | |
| "output_type": "display_data", | |
| "data": { | |
| "text/plain": [ | |
| "<Figure size 800x500 with 1 Axes>" | |
| ], | |
| "image/png": "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1NSwevVqDh06xLZt21CpVNx88824XC4Aqqurue6660hKSuLw4cM88cQTPPDAA72yy2g08vbbb5Oens4f/vAH1q1bx6uvvuo+/sUXX3DzzTezcuVKUlNT2bZtGzNnzgTgo48+YsSIETz11FNuLy7A4cOHueWWW7jttts4ceIETzzxBI899hhvv/22x7V///vfM2nSJFJTU3nsscd69T4EAoGgQ2SBQCAQdMjdd98t33jjjR0ee/jhh+X4+HjZ5XK5973++uuyv7+/7HQ6OzynuLhYBuQTJ07IsizLf/3rX+Xg4GC5rq7O3eaNN96QATk1NbVTuxYsWCBrtVrZz8/Pva1evbrDti+99JI8bdo09++zZ8+W77jjjk77jomJkV999VWPfbfffru8dOlSj30PPvignJSU5HHeTTfd1Gm/AoFA0BcIj6tAIBD0gIyMDGbPnu0xnT537lyqq6vJzc0FIDs7m29/+9vExcVhMpmIjY0F4MKFC+4+Jk6ciMFgcPcxe/bsLl3/jjvu4OjRo+7tt7/9LQAffPABc+fOJTw8HH9/fx599FH39QCOHj3K4sWLu/1e586d67Fv7ty5ZGdn43Q63fumT5/erX4FAoGguwydSH6BQCAYZlx//fXExMSwbt06IiMjcblcjB8/vk8WLpnNZsaMGeOxb9++fdxxxx08+eSTLFu2DLPZzPr16z3iUX18fHp97c7w8/Prt74FAoEARIyrQCAQ9IjExET27duHLMvufXv27MFoNDJixAhKS0vJysri0UcfZfHixSQmJlJeXt6uj+PHj1NfX+/et3///h7btHfvXmJiYnjkkUeYPn06Y8eOJScnx6PNxIkT2bZtW6d96HQ6Dy9qs5179uzx2Ldnzx7GjRuHWq3usb0CgUDQXYRwFQgEgktQWVnpMSV/9OhRLl68yE9+8hMuXrzIz372MzIzM/n0009Zu3Ytq1evRqVSERgYSHBwMH/72984ffo0X375JatXr/bo+/bbb0eSJO677z7S09PZsGEDv//973ts69ixY7lw4QLr16/nzJkz/PGPf+Tjjz/2aLN27Vref/991q5dS0ZGBidOnODFF190H4+NjWXXrl3k5eVRUlICwK9//Wu2bdvG008/zalTp3jnnXf485//3OuFZAKBQNBtBjvIViAQCIYqd999twy02+69915ZlmV5x44d8owZM2SdTieHh4fLa9aske12u/v8LVu2yImJibJer5cnTpwo79ixQwbkjz/+2N1m37598qRJk2SdTidPnjxZ/u9//9ulxVm/+MUvOjz24IMPysHBwbK/v7986623yq+++qpsNps92vz3v/+VJ0+eLOt0OjkkJET+xje+4WHPxIkTZb1eL7f+iPjPf/4jJyUlyVqtVh45cqT80ksvefTZ0aIugUAg6GskWW41zyUQCAQCgUAgEAxRRKiAQCAQCAQCgcArEMJVIBAIBAKBQOAVCOEqEAgEAoFAIPAKhHAVCAQCgUAgEHgFQrgKBAKBQCAQCLwCIVwFAoFAIBAIBF6BEK4CgUAgEAgEAq9ACFeBQCAQCAQCgVcghKtAIBAIBAKBwCsQwlUgEAgEAoFA4BUI4SoQCAQCgUAg8Ar+f1DL6+rPZPtLAAAAAElFTkSuQmCC\n" | |
| }, | |
| "metadata": {} | |
| } | |
| ], | |
| "source": [ | |
| "import time\n", | |
| "import numpy as np\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "from collections import defaultdict\n", | |
| "\n", | |
| "# 🔹 Open Addressing Hash Table\n", | |
| "class OpenAddressingHashTable:\n", | |
| " def __init__(self, capacity, probing_strategy=\"linear\"):\n", | |
| " self.capacity = capacity\n", | |
| " self.size = 0\n", | |
| " self.table = [None] * capacity\n", | |
| " self.probing_strategy = probing_strategy\n", | |
| "\n", | |
| " def hash_function(self, key):\n", | |
| " return hash(key) % self.capacity\n", | |
| "\n", | |
| " def secondary_hash(self, key):\n", | |
| " \"\"\"Used for double hashing\"\"\"\n", | |
| " return 1 + (hash(key) % (self.capacity - 1))\n", | |
| "\n", | |
| " def insert(self, key, value):\n", | |
| " \"\"\"Insert using Open Addressing with different probing methods\"\"\"\n", | |
| " if self.size >= 0.7 * self.capacity: # 🔥 Prevent overfilling\n", | |
| " return\n", | |
| " index = self.hash_function(key)\n", | |
| "\n", | |
| " for i in range(self.capacity):\n", | |
| " if self.table[index] is None:\n", | |
| " self.table[index] = (key, value)\n", | |
| " self.size += 1\n", | |
| " return\n", | |
| "\n", | |
| " # Collision Handling (Probing)\n", | |
| " if self.probing_strategy == \"linear\":\n", | |
| " index = (index + 1) % self.capacity\n", | |
| " elif self.probing_strategy == \"quadratic\":\n", | |
| " index = (index + i ** 2) % self.capacity\n", | |
| " elif self.probing_strategy == \"double\":\n", | |
| " index = (index + i * self.secondary_hash(key)) % self.capacity\n", | |
| "\n", | |
| " def search(self, key):\n", | |
| " \"\"\"Search for a key using probing\"\"\"\n", | |
| " index = self.hash_function(key)\n", | |
| "\n", | |
| " for i in range(self.capacity):\n", | |
| " if self.table[index] is None:\n", | |
| " return None # Key not found\n", | |
| " if self.table[index][0] == key:\n", | |
| " return self.table[index][1] # Found key\n", | |
| "\n", | |
| " # Collision Handling (Probing)\n", | |
| " if self.probing_strategy == \"linear\":\n", | |
| " index = (index + 1) % self.capacity\n", | |
| " elif self.probing_strategy == \"quadratic\":\n", | |
| " index = (index + i ** 2) % self.capacity\n", | |
| " elif self.probing_strategy == \"double\":\n", | |
| " index = (index + i * self.secondary_hash(key)) % self.capacity\n", | |
| "\n", | |
| " return None # Key not found\n", | |
| "\n", | |
| "# 🔹 Separate Chaining Hash Table (Uses Linked Lists)\n", | |
| "class ChainingHashTable:\n", | |
| " def __init__(self, capacity):\n", | |
| " self.capacity = capacity\n", | |
| " self.table = defaultdict(list) # Linked List per bucket\n", | |
| "\n", | |
| " def hash_function(self, key):\n", | |
| " return hash(key) % self.capacity\n", | |
| "\n", | |
| " def insert(self, key, value):\n", | |
| " \"\"\"Insert using separate chaining\"\"\"\n", | |
| " index = self.hash_function(key)\n", | |
| " self.table[index].append((key, value))\n", | |
| "\n", | |
| " def search(self, key):\n", | |
| " \"\"\"Search within the linked list at the bucket\"\"\"\n", | |
| " index = self.hash_function(key)\n", | |
| " for k, v in self.table[index]:\n", | |
| " if k == key:\n", | |
| " return v # Found\n", | |
| " return None # Not found\n", | |
| "\n", | |
| "# Experiment: Measure lookup time at different load factors\n", | |
| "load_factors = np.linspace(0.1, 0.7, 7) # 🔥 Stop Open Addressing at 70%\n", | |
| "probing_methods = [\"linear\", \"quadratic\", \"double\"]\n", | |
| "lookup_times = {method: [] for method in probing_methods}\n", | |
| "lookup_times[\"chaining\"] = [] # Store results for Chaining\n", | |
| "\n", | |
| "table_size = 10000 # Fixed table size\n", | |
| "\n", | |
| "for method in probing_methods + [\"chaining\"]:\n", | |
| " for load_factor in load_factors:\n", | |
| " num_elements = int(table_size * load_factor)\n", | |
| "\n", | |
| " if method == \"chaining\":\n", | |
| " hash_table = ChainingHashTable(table_size)\n", | |
| " else:\n", | |
| " hash_table = OpenAddressingHashTable(table_size, probing_strategy=method)\n", | |
| "\n", | |
| " # Insert random keys (stop Open Addressing at 70% load)\n", | |
| " keys = np.random.randint(0, 10**9, num_elements)\n", | |
| " for key in keys:\n", | |
| " hash_table.insert(key, key)\n", | |
| "\n", | |
| " # Measure lookup time\n", | |
| " test_key = keys[np.random.randint(0, num_elements)]\n", | |
| " start_time = time.perf_counter()\n", | |
| " hash_table.search(test_key)\n", | |
| " end_time = time.perf_counter()\n", | |
| "\n", | |
| " lookup_times[method].append((end_time - start_time) * 1e6) # Convert to microseconds\n", | |
| "\n", | |
| "# Plot results\n", | |
| "plt.figure(figsize=(8, 5))\n", | |
| "for method in probing_methods + [\"chaining\"]:\n", | |
| " plt.plot(load_factors, lookup_times[method], marker='o', linestyle='-', label=method)\n", | |
| "\n", | |
| "plt.xlabel(\"Load Factor\")\n", | |
| "plt.ylabel(\"Lookup Time (microseconds)\")\n", | |
| "plt.title(\"Load Factor vs. Lookup Time: Open Addressing vs. Chaining\")\n", | |
| "plt.legend()\n", | |
| "plt.grid()\n", | |
| "plt.show()\n" | |
| ] | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment