awelgorithms

Remove a key from a map

Updated

Delete removes that key and its value. Size −1 if it was present. Other keys stay. After delete, get misses and contains-key is false.

What to focus on

Delete is keyed. You cannot delete-by-value in O(1).

Worked examples

remove middle

a = [4, 1, 9] as {4:2,1:8,9:3}, delete 1
  1. 1 gone
  2. 4 and 9 stay

Result: {4:2, 9:3} · size 2

remove only

a = [7] as {7:3}, delete 7
  1. last entry

Result: {}

empty delete

a = [], delete 4
  1. nothing to remove

Result: {}

Try it

Write remove(m, k). m is the hash map. k is a present key. Remove that key and its value. Size drops by 1. Then get(k) misses. a = [4, 1, 9] as {4:2,1:8,9:3}, delete 1 → {4:2, 9:3} · size 2. a = [7] as {7:3}, delete 7 → {}. a = [], delete 4 → {}.

keys are integers. The key exists when you delete.