Hashing Visualizer
Hash Tables
Watch keys map into buckets with modulo hashing, collisions, chain traversal, and live average versus worst-case complexity.
O(n)
map: value -> index
Bucket 0
empty
Bucket 1
empty
Bucket 2
empty
Bucket 3
empty
Bucket 4
empty
Bucket 5
empty
Bucket 6
empty
Time
O(n)
Space
O(n)
Step Note
Find two values that sum to 18.
function twoSum(values: number[], target: number) {
const seen = new Map<number, number>()
for (let index = 0; index < values.length; index++) {
const complement = target - values[index]
if (seen.has(complement)) return [seen.get(complement), index]
seen.set(values[index], index)
}
return null
}