W czysto funkcjonalnych najgorszych przypadkach sortowanych list o stałym czasie, Brodal i in. prezentuj czysto funkcjonalne zrównoważone drzewa z konkatenatem O (1) i wstawiaj, usuwaj i znajduj O (lg n). Struktura danych jest nieco skomplikowana.
Czy istnieje prostsze zrównoważone drzewo wyszukiwania z konkatenacją O (1), funkcjonalne czy nie?
Pobrałem wspomniany artykuł, który odpowiada „nie”, przynajmniej w momencie publikacji artykułu. To z dwóch powodów:
dokument jest wymagany do prawidłowego przeglądu powiązanych prac i robią to we wstępie, wraz ze streszczeniem na ryc. 1, które mówi „nie”. Przynajmniej jeśli został opublikowany na renomowanej konferencji, ale tak to wygląda (Brodal jest cytowany kilka razy w „Czysto funkcjonalnych strukturach danych” C. Okasaki, odniesienie na ten temat).
Wspominają jednak w tekście o algorytmie z czasem wyszukiwania O (log n log log n) i konkatenacją w czasie O (1), naszkicowanym w pracy K&T z STOC '96. To może być dla ciebie interesujące.
Punkt 1. zapewnia również, że możesz po prostu poszukać dokumentów powołujących się na ten, aby znaleźć późniejsze wyniki, musieliby to zacytować.
Gdyby pytanie miało praktyczne znaczenie (ale tak nie powinno być), uważam, że stałe czynniki są ważniejsze niż różnica między O (1) a O (log N) (jak omówiono we wstępie do algorytmów Sedgewicka), więc musisz po prostu znaleźć testy porównawcze dla przypadku użycia aplikacji.
źródło