Использование словосочетаний «закрыто» и «открыто» отражает то, привязаны ли мы к использованию определенной позиции или структуры данных (это очень расплывчатое описание, но, надеюсь, остальное помогает).
Например, «open» в «открытой адресации» сообщает нам, что индекс (он же адрес), по которому объект будет храниться в хеш-таблице, не полностью определяется его хеш-кодом. Вместо этого индекс может варьироваться в зависимости от того, что уже находится в хеш-таблице.
«Закрытый» в «закрытом хешировании» относится к тому факту, что мы никогда не покидаем хеш-таблицу; каждый объект хранится непосредственно по индексу во внутреннем массиве хеш-таблицы. Обратите внимание, что это возможно только при использовании какой-то открытой стратегии адресации. Это объясняет, почему «закрытое хеширование» и «открытая адресация» являются синонимами.
Сравните это с открытым хешированием - в этой стратегии ни один из объектов фактически не хранится в массиве хеш-таблицы; вместо этого после хеширования объект сохраняется в списке, который отделен от внутреннего массива хеш-таблицы. «открытый» относится к свободе, которую мы получаем, покидая хеш-таблицу и используя отдельный список. Кстати, «отдельный список» намекает, почему открытое хеширование также известно как «отдельная цепочка».
Короче говоря, «закрытый» всегда относится к какой-то строгой гарантии, например, когда мы гарантируем, что объекты всегда хранятся непосредственно в хеш-таблице (закрытое хеширование). Тогда противоположностью «закрыто» является «открыто», поэтому, если у вас нет таких гарантий, стратегия считается «открытой».