нубский ,но все же. При хешировании с открытой адресацией при возникновении коллизии ,есть метод линейного исследования так вот , этот метод линейного исследования говорит нам о том ,что мы просто ищем новую ячейку куда положить наш элемент. Ну либо если нет места рассматриваем таблицу как цикличный массив. Так вот вопрос как тогда происходит поиск если конкретный хеш должен указывать на конкретную ячейку таблицы? Т.е у нас произошла коллизия,хорошо мы ее разрешили этим путем ,как дальше мы ищем наш элемент ? Сори за портянку и скорее всего кашу)
Дальше по дополнительным условиям. В джаве это equals
Так же линейным пробированием. Нашли ячейку через hashcode сравнили элемент по equals(если есть, если нет - элемента нет), если не нашли, идем дальше искать следующий элемент в следующей ячейке. Если он equals тому, что ищем, возвращаем его value, если нет идем дальше, пока не встретим элемент или пустую ячейку(значит элемента нет)
Обсуждают сегодня