AlgoPrecision

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.

Details
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
}