A K-D Tree(เรียกอีกอย่างว่า K-Dimensional Tree) เป็นต้นไม้ค้นหาไบนารีที่ข้อมูลในแต่ละโหนดคือ K- จุดมิติในอวกาศ … ชี้ไปทางซ้าย ของพื้นที่นี้แสดงโดยทรีย่อยด้านซ้ายของโหนดนั้นและชี้ไปทางขวาของช่องว่างจะแสดงโดยทรีย่อยด้านขวา
ต้นไม้ KD จริงหรือไม่
จุดข้อมูลถูกแบ่งที่แต่ละโหนดออกเป็นสองชุด เช่นเดียวกับอัลกอริธึมก่อนหน้า KD Tree ยังเป็น อัลกอริทึมแบบทรีไบนารีที่ลงท้ายด้วยโหนดสูงสุดสองโหนดเสมอ … ทางด้านขวาของภาพด้านล่าง คุณจะเห็นตำแหน่งที่แน่นอนของ จุดข้อมูลทางด้านซ้ายตำแหน่งเชิงพื้นที่ของพวกเขา
ทำต้น KD ยังไง
สร้าง KD-Tree
- จุดแรกกลายเป็นรากของต้นไม้
- เลือกแกนตามความลึกเพื่อให้แกนวนรอบค่าที่ถูกต้องทั้งหมด …
- จัดเรียงรายการจุดตามแกนและเลือกค่ามัธยฐานเป็นองค์ประกอบเดือย …
- สำรวจต้นไม้จนกว่าโหนดจะว่าง จากนั้นกำหนดจุดให้กับโหนด
- ทำซ้ำขั้นตอนที่ 2-4 ซ้ำๆ จนกว่าคะแนนทั้งหมดจะถูกประมวลผล
ทำไมถึงใช้ kd tree?
KD-tree โครงสร้างข้อมูลเฉพาะสำหรับการแสดงข้อมูลของเราอย่างมีประสิทธิภาพ โดยเฉพาะอย่างยิ่ง KD-tree ช่วยจัดระเบียบและแบ่งพาร์ติชั่นจุดข้อมูลตามเงื่อนไขเฉพาะ ตอนนี้ เรากำลังจะทำการตัดแนวแกน และคงรายการของจุดที่ตกอยู่ในถังขยะที่แตกต่างกันเหล่านี้
อ็อกทรีเป็นต้นไม้ kd หรือไม่
ข้อมูล ของแต่ละโหนดลีฟใน octree ประกอบขึ้นจากต้นไม้ KD ในพื้นที่ ใน octree โหนดจะเก็บข้อมูลเกี่ยวกับกล่องขอบเขตเท่านั้น ใบไม้แต่ละโหนดจะได้รับค่าดัชนีเพื่อความสะดวกในการวิจัย