ну на самом деле м должно быть пропорционально п.В противном случае вы могли бы, например, иметь только 1 сегмент, и это было бы как несортированный набор.
Точнее, если m пропорционально n, то есть m = c * n, то числоэлементы в каждом ведре будут n / m = 1 / c, который является константой.Переход к любому сегменту - это операция O (1) (просто вычисление хеш-кода), а затем поиск по сегменту является постоянным порядком (вы можете просто выполнить линейный поиск по элементам в сегменте, которые будут постоянными).
Таким образом, порядок алгоритма O (1), если m = c * n.
В качестве обратного примера предположим, что у нас есть таблица фиксированного размера size tableSize.Тогда ожидаемое количество элементов в каждом сегменте равно n / tableSize, что является линейной функцией от n.Любой вид поиска в сегменте - в лучшем случае O (log (n)) для дерева (я предполагаю, что вы не вставляете другую таблицу хеш-функции внутри корзины, или у нас будет тот же аргумент над этой таблицей), поэтомув этом случае это не будет O (1).