UWAGA : Pytanie zostało ponownie sformułowane w moich odpowiedziach: Zakładając, że możemy znaleźć najniższych przodków rodzeństwa w czasie , czy ANN można naprawdę wykonać w ?
Czworoboki są wydajnymi wskaźnikami przestrzennymi. Mam łamigłówkę z implementacją wyszukiwania najbliższego sąsiada w skompresowanej strukturze quadtree, jak opisano w [2]. (Bez wchodzenia w szczegóły, wyszukiwanie odbywa się od góry do dołu wzdłuż tak zwanych równoodległych kwadratów, kończąc się na węźle ogonowym jednakowo odległej ścieżki. Na załączonym obrazie może to być dowolny z węzłów na południowym wschodzie wypełnionych punktami.)
Aby ich algorytm działał, należy zachować dla każdego węzła - kwadrat z co najmniej dwoma niepustymi kwadrantami - wskaźniki dla każdego najniższego (najbliższego w hierarchii) węzła przodka w każdym z czterech kierunków (północ, zachód, południe , wschód). Wskazują na to zielone strzałki dla zachodniego przodka węzłów (strzałka wskazuje środek kwadratu przodka).
Artykuł twierdzi, że wskaźniki te można aktualizować w O (1) podczas wstawiania i usuwania punktów. Jednak patrząc na wstawienie zielonego punktu, wydaje się, że muszę zaktualizować dowolną liczbę wskaźników, w tym przypadku sześć.
Mam nadzieję, że uda mi się zrobić aktualizację wskaźnika w stałym czasie. Może istnieje jakaś forma pośrednictwa, którą można wykorzystać?
EDYTOWAĆ:
Odpowiednia część artykułu to 6.3, gdzie brzmi: „jeśli ścieżka ma zakręty, to oprócz najniższych przodków , powinniśmy również rozważyć dla każdego z kierunków najniższy przodek który zmierza w tym kierunku [...] Znalezienie tych kwadratów z można wykonać w czasie na kwadrat, jeśli skojarzymy dodatkowe wskaźników z każdym kwadratem w wskazując jego najbliższych przodków dla każdego kierunku Wskaźniki te można również aktualizować w czasie podczas wstawiania lub usuwania punktu. ”
[2]: Eppstein, D. i Goodrich, MT i Sun, JZ, „The Skip Quadtree: A Simple Dynamic Data Structure for Multidimensional Data”, w toku dwudziestego pierwszego dorocznego sympozjum na temat geometrii obliczeniowej, s. 296–305 , 2005.