CATATAN : Pertanyaan telah dinyatakan kembali dalam jawaban saya: Dengan asumsi sekarang kita dapat menemukan leluhur saudara kandung terendah dalam waktu , dapatkah JST benar-benar dilakukan dalam ?
Quadtrees adalah indeks spasial yang efisien. Saya punya teka-teki dengan implementasi pencarian tetangga terdekat dalam struktur quadtree terkompresi seperti yang dijelaskan dalam [2]. (Tanpa masuk ke dalam perincian, pencarian dilakukan secara top-down di sepanjang apa yang disebut kuadrat sama-sama, berakhir pada simpul ekor dari jalur yang sama. Pada gambar terlampir ini mungkin salah satu dari simpul di tenggara diisi dengan titik-titik.)
Agar algoritme mereka berfungsi, kita harus memelihara untuk setiap simpul - bujur sangkar dengan setidaknya dua kuadran tidak kosong - pointer untuk setiap simpul leluhur terendah (terdekat dalam hierarki) di masing-masing dari empat arah (utara, barat, selatan). , timur). Ini ditunjukkan oleh panah hijau untuk leluhur node 'barat (panah menunjuk pada pusat alun-alun leluhur).
Makalah mengklaim pointer ini dapat diperbarui dalam O (1) selama penyisipan dan penghapusan titik. Namun ketika melihat penyisipan titik hijau, sepertinya saya perlu memperbarui sembarang jumlah pointer, dalam hal ini enam dari mereka.
Saya berharap ada trik untuk melakukan pembaruan pointer ini dalam waktu yang konstan. Mungkin ada bentuk tipuan yang bisa dieksploitasi?
EDIT:
Bagian yang relevan dari makalah ini adalah 6.3, di mana tertulis: "jika jalan memiliki tikungan, maka selain leluhur terendah , kita juga harus mempertimbangkan untuk masing-masing dari arah yang terendah leluhur yang mengarah ke arah itu [...] Menemukan kuadrat ini dari dapat dilakukan dalam waktu per kotak jika kita mengaitkan pointer tambahan ke setiap kotak di menunjuk ke leluhur terdekatnya untuk setiap arah Pointer ini juga dapat diperbarui dalam waktu selama penyisipan atau penghapusan suatu titik. "q 2 d q q O ( 1 ) 2 d Q 0 O ( 1 )
[2]: Eppstein, D. dan Goodrich, MT dan Sun, JZ, “The Skip Quadtree: Struktur Data Dinamis Sederhana untuk Data Multidimensi,” dalam Prosiding simposium tahunan ke dua puluh satu tentang geometri komputasi, hal. 296—305 2005