[Хэш-таблицы имеют] O (1) вставки и поиска
Я думаю, что это неправильно.
Прежде всего, если вы ограничить пространство ключей конечным, вы могли бы хранить элементы в массиве и сделать O (1) линейного сканирования. Или вы могли бы shufflesort массива, а затем сделать линейное сканирование в O (1) ожидаемое время. Когда материал конечно, материал легко O (1).
Так скажем, ваш хэш-таблица будет хранить любую произвольную битовую строку; это не имело большого значения, до тех пор, пока есть бесконечное множество ключей, каждый из которых конечны. Тогда вы должны прочитать все биты любого запроса и вставки ввода, иначе вставить y0 в пустой хэш и запроса на y1, где y0 и y1 отличаются в одной битовой позиции, которые вы не смотреть.
Но допустим , что длина ключа не показатель. Если вставка и поиск принимать O (1), в частности , хеширование занимает O (1) время, которое означает , что вы смотрите только на конечную величину выхода из хэш - функции (из которых, вероятно, будет только конечный вывод, предоставившей ).
Это означает, что с конечным числом ковшей, должно быть бесконечное множество строк, которые все имеют одинаковое значение хеш-функции. Предположим, я ввожу много, то ω (1), из них, и начать запрос. Это означает, что ваш хэш-таблица должна упасть обратно на другой O (1) механизм вставки / поиска, чтобы ответить на мои вопросы. Какой из них, и почему бы просто не использовать это непосредственно?