Скажем, у меня есть хэш-таблицу обр [1..n], набор ключей k1, k2, k3 (м нет. Ключей) и т.д .. и хэш-функция Н (к)Имеет ли хэш-таблицу допустимые значения?
ч (к) принимает вход k и дает выход i как индекс для arr [i].
Теперь в концепции линейного зондирования хеширования давайте рассмотрим сценарии.
1> let k1=101 and h(k)=i=5, then k1(101) is stored in arr[5]
2> let k2=102 and h(k)=i=6 then k1(102) is stored in arr[6]
3>Now again k3=101 and h(k)=i=5 then by linear probing it will go one
step ahead(i=i+1) and check a[i](a[6]) is free or not, since a[6] is not free
so we repeat again (i=i+1) and check a[i](a[7]) is free or not, since a[7] is free
so k3(101) is again inserted at arr[7].
Теперь arr [5] и arr [7] являются возможными дубликатами, они принадлежат к одному и тому же ключу.
Имеет ли хэш-таблицу дубликаты? Я правильно понимаю.
Пожалуйста, проверьте меня, если я ошибаюсь
Этот вопрос будет сильно зависеть от самой хэш-таблицы, поскольку возможны оба варианта. Например, 'std :: unordered_map' не допускает дубликатов, а' std :: unordered_multimap' позволяет дублировать. –