Question: You're implementing a hash table that uses open addressing with linear probing to resolve collisions. However, your implementation has a mistake: when you erase an

You're implementing a hash table that uses open addressing with linear probing to resolve collisions. However, your implementation has a mistake: when you erase an element, you replace it with an empty bucket, rather than marking it as a ghost! In this example, your keys are strings, with the hash function size_t hash(string s) return s.empty0?0:s[O]-A' and the hash table initially contains 100 buckets. A state is "invalid" if subsequent find or size operations return the wrong answer. After which of the following sequences of operations will the hash table be in an invalid state due to the buggy implementation of erase? O insert "A1", insert "B1"; insert "C1", erase "A1"; erase C1"; insert "A1"; insert "A2"; insert "A3"; erase "A3"; erase "A2" insert "B1"; insert "C1"; insert "A1"; insert "A2"; erase "C1" Insert "A1"; insert "B1"; insert "A2"; erase "B1; insert "B2
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
