मैं एक वेक्टर मैप संपादक पर काम कर रहा हूं और मेरे पास तत्वों का एक समूह है, जिनमें से प्रत्येक दृश्य में बाध्यकारी बॉक्स निर्दिष्ट करता है। जैसे ही माउस चलता है मैं को पहले तत्व पर हाइलाइट करना चाहता हूं जिसका बाउंडिंग बॉक्स वर्तमान माउस स्थान है। अभी मैं एक साधारण सूची का उपयोग करता हूं और इसके माध्यम से जाता हूं, लेकिन तत्वों की संख्या में वृद्धि होने की संभावना है, वर्तमान खोज एल्गोरिदम की ओ (एन) जटिलता एक इंटरैक्टिव एप्लिकेशन के लिए समस्याग्रस्त हो जाएगी।आयताकार सीमाओं के अंदर कुशल बिंदु
इसके लिए बेहतर एल्गोरिदम/डेटा संरचना क्या होगी?
कुछ अतिरिक्त की कमी/आवश्यकताओं:
- बाउंडिंग बॉक्स डेटा संरचना की भरने अपेक्षाकृत जल्दी होना चाहिए था (के बाद से मुझे लगता है कि हर बार ऐसा करने की जरूरत नक्शा ले जाता है या ज़ूम या प्रक्षेपण परिवर्तन)।
- एल्गोरिदम को मिलान करने वाले तत्वों के सभी (केवल पहले नहीं) को खोजने में सक्षम होना होगा। कारण यह है कि कुछ मानचित्र तत्वों में अनियमित आकार हो सकता है, इसलिए सरल बाउंडिंग बॉक्स मैच पर्याप्त सख्त नहीं है। मैं फिर मैचों की सूची में जाऊंगा और कुछ सटीक मिलान करूँगा।
- आदेश जिसमें बक्से सेट किसी भी तरह बनाए रखा जाना चाहिए करने के लिए जोड़ा गया था - एक नक्शे के तत्व है जो एक और तत्व ऊपर तैयार की है एक प्राथमिकता है जब उनके बाउंडिंग बॉक्स मिलान होना चाहिए।
मेमोरी बाधाओं में बनाया जा सकता है? यदि नहीं: तो आप लुकअप टेबल का उपयोग करना चाहेंगे .. – amit
मैंने जानबूझकर स्मृति बाधाओं का उल्लेख नहीं किया क्योंकि मैं कई विचार सुनना चाहता था और फिर गति/स्मृति व्यापार के बारे में निर्णय लेना चाहता था। क्या आप इस परिदृश्य में लुकअप टेबल के बारे में अधिक विशिष्ट हो सकते हैं? –