Czy istnieje naturalny równoległy analog do czerwono-czarnych drzew o podobnych lub nawet niezbyt gorszych właściwościach do aktualizacji, przy jednoczesnym zapewnieniu odpowiedniej wydajności pracy?
Mówiąc bardziej ogólnie, co możemy zrobić dla wyszukiwania równoległego z aktualizacjami?
ds.algorithms
ds.data-structures
dc.parallel-comp
concurrency
dynamic-algorithms
Suresh Venkat
źródło
źródło
Odpowiedzi:
Z tego, co mogę powiedzieć, strategie obejmują rozluźnienie warunków równowagi, a następnie przeprowadzanie aktualizacji równoważenia w seriach. Oto artykuł Hanke i in., 1997 [PDF] , który moim zdaniem koncentruje się na ich technice agregowania i rozwiązywania operacji aktualizacji, aby można je było wykonywać jednocześnie.
źródło
Myślę, że możesz znaleźć ciekawą odpowiedź w książce Okasaki Purely Functional Data Structures . W tej książce pokazano wiele struktur danych, dzięki czemu każda aktualizacja nie jest droga (zwykle zajmuje tylko czas stały lub logarytmiczny).
Powiedzmy, że „d” jest strukturą tuż przed czasem, w którym musisz się ponownie wyważyć. W czysto funkcjonalnej strukturze danych masz trwałe struktury danych, dlatego możesz dodawać rzeczy do „d” i trzeba ponownie balansować razy. Dlatego zamortyzowana złożoność nie działa w tym ustawieniu, a on stworzył inny sposób uzyskania dobrego algorytmu, w którym każdy krok z aktualizacjami nie jest drogi.nn n
źródło