Существует хеш-таблица, слоты в массиве, каждый слот имеет двусвязный список, unsorted.Найти максимальный элемент в хеш-таблице с дважды связанным списком в каждом слоте
Общее количество элементов - n
, количество слотов - m
.
Какова временная сложность для:
- Найти максимальный элемент в целом Hashtable.
- Найдите элемент-преемник для данного элемента x.
Они должны быть как O(n)
, так? Потому что вам нужно перебирать каждый элемент.
Но, в книге <The algorithm design manual 2nd>
, страница 90, он говорит, что это O(n+m)
, но я не понимаю.
Кто-нибудь, помогите определить, что является правильным? И почему.
Спасибо.
Это не O (n * m)? Для n списков с размером m? –
@GiorgiNakeuri - OP указал, что общее количество элементов во всей таблице равно n, а не размер каждого списка. (Это m слотов, каждый со списком какого-то размера, общий размер всех списков - n.) –
О, я неправильно понял вопрос. –