В чисто функциональном худшем случае отсортированные списки с возможностью прокрутки по постоянному времени, Brodal et al. представить чисто функциональные сбалансированные деревья с O (1) сцеплением и O (lg n) вставкой, удалением и поиском. Структура данных несколько сложна.
Существует ли более простое сбалансированное дерево поиска с O (1) сцепленным, функциональным или нет?
Я скачал упомянутую вами статью, и она отвечает «нет», по крайней мере, во время публикации статьи. Это по двум причинам:
бумага требуется для правильного обзора связанных работ, и они делают это во введении, с кратким описанием на рис. 1, которое говорит «нет». По крайней мере, если это было опубликовано на авторитетной конференции, но это выглядит так (Brodal упоминается пару раз в «Чисто функциональных структурах данных» К. Окасаки, ссылка на эту тему).
Тем не менее, они упоминают в тексте алгоритм с временем поиска O (log n log log n) и конкатенацией за O (1) времени, набросанный в статье K & T из STOC '96. Это может быть интересно для вас.
Пункт 1. также гарантирует, что вы можете просто искать документы, ссылающиеся на этот, чтобы найти любые последующие результаты, они должны будут процитировать его.
Если бы вопрос имел практическое значение (но не предполагалось), я считаю, что постоянные факторы более важны, чем разница между O (1) и O (log N) (как обсуждалось во введении Седжвика в алгоритмы), поэтому вам нужно искать только ориентиры для варианта использования вашего приложения.
источник