Хорошо, попытки были на какое-то время. Типичная реализация должна дать вам O (m) поиск, вставку и удаление операций независимо от размера n набора данных, где m - длина сообщения. Однако эта же реализация занимает 256 слов на входной байт, в худшем случае.Асимптотически быстрый ассоциативный массив с невыполненными требованиями к памяти
Другие структуры данных, в частности хеширование, дают ожидаемый O (m) поиск, вставку и удаление, а некоторые реализации даже обеспечивают постоянный поиск по времени. Тем не менее, в худшем случае подпрограммы либо не останавливают, либо не принимают O (nm) время.
Вопрос заключается в том, есть ли структура данных, обеспечивающая время поиска, вставки и удаления O (m), сохраняя при этом объем памяти, сопоставимый с хешированием или поисковыми деревьями?
Возможно, было бы уместно сказать, что меня интересуют только поведение худшего случая, как во времени, так и в пространстве.
"Не останавливайтесь"? Какая процедура хеш-таблицы не останавливается? – Gabe
«некоторые реализации даже обеспечивают [e] постоянное время поиска» - я никогда не слышал о хэш-таблице, которая не делает этого. –
Гейб: хеширование Cukoo не имеет гарантии на включение. Ник: Я имел в виду наихудшее постоянное время. –