Algorytmy i struktury danych · Senior · Pytanie 38 z 75
Co daje współdzielenie struktury (structural sharing) w trwałych strukturach danych?
- 1Dane są współdzielone między wątkami bez kosztu synchronizacji
- 2Wszystkie wersje dzielą jedną zmienną kopię blokowaną przy zapisie
- ✓Poprawna odpowiedź: Nowe wersje reużywają niezmienione części, więc aktualizacja nie kopiuje wszystkiego
Wyjaśnienie
Aktualizacja jednego liścia drzewa kopiuje tylko ścieżkę do korzenia, O(log n), a stare wersje pozostają ważne. Opierają się na tym niemutowalne aktualizacje w Redux, Immer i kolekcjach Clojure; dzięki temu sprawdzanie zmian przez === jest tanie.