DATA STRUCTURES
🇬🇧UK Edition🇨🇦Canada Edition🌐Global Tech

Hash Table Collisions: Separate Chaining vs Open Addressing

Prof. Sophia Sterling
Prof. Sophia Sterling
Database Systems Lead
Updated 03/09/20266 min read0 views

Hash Collisions Explained

When two distinct keys produce the same hash index, collision resolution techniques guarantee constant time lookups.

python
class HashTableChaining:
    def __init__(self, size=10):
        self.size = size
        self.table = [[] for _ in range(size)]

    def _hash(self, key):
        return hash(key) % self.size

    def insert(self, key, value):
        idx = self._hash(key)
        for item in self.table[idx]:
            if item[0] == key:
                item[1] = value
                return
        self.table[idx].append([key, value])

ht = HashTableChaining()
ht.insert("london", "UK")
print("Table:", ht.table[ht._hash("london")])

Frequently Asked Questions (FAQ)

Q: What is Load Factor?

Load Factor α = N/M (elements / bucket capacity). When α > 0.7, rehashing occurs.

Prof. Sophia Sterling
Written by Prof. Sophia SterlingAdSense EEAT Verified

Database Systems Lead. Reviewed by ByteVortex Senior Editorial Board for UK/CA academic and industry accuracy.