Proste zrównoważone drzewa z concat O (1)?

Odpowiedzi:

5

Możesz w prosty sposób utworzyć strukturę danych z zamortyzowanym czasem konkatenacji O (1) , po prostu wstawiając wszystko od jednego drzewa do drugiego po konkatenacji (która ma koszt O (n log n), dokładnie taki sam, jak użyto do konstruowania tego drzewa w pierwsze miejsce, więc całkowity czas to wciąż O (n log n)), ale to oszustwo.

W najgorszym przypadku O (1) autorzy twierdzą, że był to otwarty problem dla dowolnej struktury danych, więc nie sądzę, że znajdziesz łatwą odpowiedź.

Alexandre Passos
źródło
1
Nie jestem pewien, czy Brodal i in. oznaczało, że był to otwarty problem nawet w efemerycznych okolicznościach. Czy mówisz o zdaniu w streszczeniu, które odnosi się do „otwartego problemu postawionego przez Kaplana i Tarjana”? Jeśli tak, to myślę, że z kontekstu tego artykułu jasno wynika , że K&T twierdziło, że pytanie było otwarte w czysto funkcjonalnej strukturze.
jbapple,
Pobrałem artykuł, ale wyraźnie stwierdza, że ​​„zapytali [K&T], czy operacja łączenia może zostać zaimplementowana w najgorszym przypadku O (1) nawet w efemerycznym otoczeniu, jednocześnie obsługując wyszukiwania i aktualizacje w czasie logarytmicznym”.
Blaisorblade,
Dobra uwaga, Blaisorblade. Przegapiłem to zdanie.
jbapple,
nO(nlogn)O(nlog2)n)
4

Pobrałem wspomniany artykuł, który odpowiada „nie”, przynajmniej w momencie publikacji artykułu. To z dwóch powodów:

  1. 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.

    • otwarte wyzwanie K&T, które rozwiązują, dotyczy słowników z konkatenacją O (1) i wyszukiwania / wstawiania / usuwania O (log N), nawet dla efemerycznych struktur.

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.

Blaisorblade
źródło
ESOP to renomowana konferencja, jeśli o to ci chodziło.
Charles Stewart
To było moje pytanie, ale w przypadku ESA, gdzie artykuł został opublikowany, a nie ESOP (może miałeś na myśli). Nie byłem pewien, czy mogę polegać na randze konferencji. Ta nieoficjalna strona rankingu sugeruje, że również ESA jest dość renomowany: www3.ntu.edu.sg/home/assourav/crank.htm
Blaisorblade 10.09.10