คำถามติดแท็ก range-searching

4
ค่าใช้จ่ายในการดำเนินการประมาณ ค้นหาเพื่อนบ้านที่ใกล้ที่สุดในข้าม quadtree
หมายเหตุ : คำถามได้รับการปรับปรุงใหม่ในคำตอบของฉัน: สมมติว่าตอนนี้เราสามารถหาบรรพบุรุษที่ต่ำที่สุดในเวลาแล้ว ANN สามารถทำได้ในหรือไม่O ( 1 )O(1)O(1)O ( บันทึกn )O(log⁡n)O(\log n) Quadtrees เป็นดัชนีเชิงพื้นที่ที่มีประสิทธิภาพ ฉันมีปริศนาที่มีการใช้การค้นหาเพื่อนบ้านที่ใกล้ที่สุดในโครงสร้างควอดทรีบีบอัดตามที่อธิบายไว้ใน [2] (โดยไม่ต้องลงรายละเอียดการค้นหาจะเลื่อนจากบนลงไปตามสี่เหลี่ยมจัตุรัสที่มีระยะเท่ากันซึ่งสิ้นสุดในโหนดหางของเส้นทางที่มีระยะเท่ากันในรูปภาพที่แนบนี้อาจเป็นโหนดใด ๆ ในภาคตะวันออกเฉียงใต้ที่เต็มไปด้วยจุด) สำหรับอัลกอริทึมในการทำงานเราจะต้องรักษาแต่ละโหนด - สี่เหลี่ยมจัตุรัสที่มี quadrants ไม่ว่างอย่างน้อยสองตัว - พอยน์เตอร์สำหรับแต่ละโหนดที่ต่ำที่สุด (ใกล้เคียงที่สุดในลำดับชั้น) โหนดบรรพบุรุษในแต่ละสี่ทิศทาง (ทิศเหนือทิศตะวันตกทิศใต้ ตะวันออก) ลูกศรสีเขียวเหล่านี้ถูกระบุด้วยลูกศรสีเขียวสำหรับโหนดบรรพบุรุษทางทิศตะวันตกของโหนด (ลูกศรชี้ไปที่ศูนย์กลางของจัตุรัสบรรพบุรุษ) กระดาษที่อ้างว่าตัวชี้เหล่านี้สามารถอัปเดตใน O (1) ระหว่างการแทรกจุดและการลบ อย่างไรก็ตามเมื่อดูที่การแทรกจุดสีเขียวดูเหมือนว่าฉันจำเป็นต้องอัปเดตพอยน์เตอร์จำนวนเท่าใดก็ได้ในกรณีนี้พวกเขาหกคน ฉันหวังว่าจะมีเคล็ดลับในการอัปเดตตัวชี้นี้ในเวลาที่แน่นอน อาจมีรูปแบบของการอ้อมที่สามารถใช้ประโยชน์ได้หรือไม่? แก้ไข: ส่วนที่เกี่ยวข้องจากกระดาษคือ 6.3 ที่อ่าน: "ถ้าเส้นทางมีโค้งแล้วนอกจากบรรพบุรุษที่ต่ำที่สุดของเราควรพิจารณาแต่ละทิศทางต่ำสุด บรรพบุรุษของที่ไปสู่ทิศทางนั้น [... ] การหาสี่เหลี่ยมเหล่านี้จากสามารถทำได้ในเวลาต่อหนึ่งตารางถ้าเราเชื่อมโยงพอยน์เตอร์เพิ่มเติมกับแต่ละตารางในชี้ไปที่บรรพบุรุษที่ใกล้ที่สุดสำหรับแต่ละทิศทาง ตัวชี้เหล่านี้ยังสามารถปรับปรุงได้ในเวลาในระหว่างการแทรกหรือการลบจุด …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.