स्थानिक खोज संरचनाएं उन्हीं विचारों पर आधारित हैं जिनका आविष्कार कंप्यूटर विज्ञान में 60 और 70 के दशक के दौरान ज्यामितीय डेटा के विपरीत, प्रतीकात्मक डेटा के बड़े सेट को जल्दी से संसाधित करने की समस्या को हल करने के लिए किया गया था, उदाहरण के लिए लोगों के नामों की सूची। यह आविष्कार किया गया था कि पहले वर्णमाला के अनुसार नामों की एक सूची को क्रमबद्ध करके, और एक सरणी में क्रमबद्ध सूची को संग्रहीत करके, कोई यह गणना कर सकता है कि क्या कोई नया नाम पहले से ही लॉग 2 एन संचालन में n / 2 के बजाय बाइनरी सर्च एल्गोरिदम का उपयोग करके सूची में है। अनुक्रमिक खोज की सहायता से अपेक्षित संचालन अपेक्षित हैं। नामों की सूची में मौजूद संरचना (वर्णमाला क्रम) को निकालने और गणना को कम करने के लिए बाद के संचालन (नाम की तलाश में) में उस संरचना का शोषण करने के लिए यह एक अच्छा उदाहरण है।
हालांकि, यदि कोई क्रमबद्ध सूची बनाए रखते हुए नामों को जोड़ने और हटाने की अनुमति देना चाहता है, तो एक गतिशील डेटा संरचना की आवश्यकता होती है, यानी एक कार्यान्वयन सूचक। ऐसी डेटा संरचना के सबसे सामान्य उदाहरणों में से एक बाइनरी सर्च ट्री के अलावा और कुछ नहीं है।
बाइनरी सर्च ट्री के मामले में, जहां इसे वास्तविक रेखा पर स्थित ए ={1, 2, 5, 6, 7, 9} जैसे पूर्णांक के एक सेट का प्रतिनिधित्व करने के लिए कार्यान्वित किया जा रहा है। यह गणना करने के लिए कि क्या कोई संख्या/बिंदु पहले से ही ट्री में है, कोई व्यक्ति ट्री में बिंदु डालने में सक्षम है और बिंदु से युक्त नेस्टेड अंतरालों के अनुक्रम के अनुरूप पथ का अनुसरण करने में सक्षम है। एक संतुलित पेड़ के लिए, यह प्रक्रिया O(log n) चरणों से अधिक नहीं लेगी; वास्तव में, हमने एक बाइनरी खोज की है, लेकिन एक सरणी के बजाय एक पेड़ को लागू कर रहा है। अब, ट्री स्वयं खोज एल्गोरिथम के एक हिस्से को एन्कोड करने में सक्षम है क्योंकि यह उस क्रम को तय करता है जिसमें खोज आगे बढ़ती है।
यह अब हमें पार्टिशनिंग ट्री पर वापस लाता है, उन्हें बाइनरी सर्च ट्री के आयामों के सामान्यीकरण के रूप में माना जाता है> 1 यानी बहु-आयामी (1 डी में, वे अनिवार्य रूप से समान हैं)। वास्तव में, पार्टिशनिंग ट्री बनाने की कल्पना त्वरित सॉर्ट के ज्यामितीय संस्करण के रूप में की जा सकती है।
मर्ज सॉर्ट में मर्ज की गई सूचियों को मर्ज करने के समान, पेड़ों को मर्ज करके परिवर्तन (हटाना और सम्मिलन) प्राप्त किया जाता है।
हालांकि, चूंकि बिंदु किसी भी आयाम> 1 के लिए स्थान को विभाजित नहीं करते हैं, इसलिए हमें उन बिंदुओं के बजाय हाइपरप्लेन को लागू करना चाहिए जिनके द्वारा उप-विभाजित किया जाना है।
हाइपरप्लेन हमेशा एक क्षेत्र को दो आधे स्थानों में विभाजित या विभाजित करते हैं, चाहे उनका आयाम कुछ भी हो।