Как получить каждый элемент в постоянное время?

Мы получили n элементов и n ящиков, чтобы хранить их. Каждый элемент имеет идентификационный номер из 10 цифр. Как мы можем хранить эти элементы, чтобы иметь доступ к каждому элементу в постоянное время?

Я думал хранить их в порядке возрастания (id-номер) или наоборот. Но это вызвало бы время работы n в худшем случае. Как бы вы их сохранили?

1 ответ

Решение

Используйте идеальную хэш-функцию.

Доступ к элементам в постоянное время. O(1) в худшем случае

Вот ссылка на Википедию: https://en.wikipedia.org/wiki/Perfect_hash_function

Другие вопросы по тегам