समयबद्ध समस्या के सेगमेंट ट्री कार्यान्वयन के लिए समय जटिलता प्रमाण


10

मैं समझता हूं कि खंड के पेड़ों का उपयोग के उप सरणी के योग को खोजने के लिए किया जा सकता है । और यह यहाँ ट्यूटोरियल के अनुसार समय में किया जा सकता हैAO(logn)

हालाँकि मैं यह साबित नहीं कर पा रहा हूँ कि क्वेरी करने का समय वास्तव में । यह लिंक (और कई अन्य) कहते हैं कि हम यह साबित कर सकते हैं कि प्रत्येक स्तर पर, संसाधित नोड्स की अधिकतम संख्या और इसलिए ।O(logn)4O(4logn)=O(logn)

लेकिन हम यह कैसे साबित करते हैं, शायद विरोधाभास से?

और यदि हां, तो अगर हम उच्च आयामी सरणियों के बजाए राशि के लिए खंड के पेड़ों का उपयोग करते हैं, तो प्रमाण कैसे बढ़ाया जाएगा?

उदाहरण के लिए, मैं मूल मैट्रिक्स को 4 क्वैडेंट्स (रैखिक सरणियों में अंतराल अंतराल के समान) में विभाजित करके एक क्वाड सेगमेंट ट्री बनाने पर विचार कर सकता हूं, लेकिन प्रमाण मुझे मिलाता है।


सेगमेंट ट्री की बिल्डिंग O (n) है, क्वेरी O (लॉग एन) है और अपडेट O (लॉग एन) है। सम एरे पर इसका लाभ इसकी अद्यतन जटिलता पर है।
नुरलान

जवाबों:


11

दावा है कि अधिकांश नोड्स हैं जो प्रत्येक स्तर पर विस्तारित हैं। हम इसे विरोधाभास से साबित करेंगे।2

नीचे दिए गए खंड के पेड़ पर विचार करें।

खंड वृक्ष

बता दें कि इस पेड़ में नोड्स फैले हुए हैं। इसका मतलब है कि सीमा बाएं सबसे रंगीन नोड से दाईं ओर सबसे रंगीन नोड तक है। लेकिन ध्यान दें कि यदि सीमा दाईं ओर सबसे अधिक नोड तक फैली हुई है, तो मध्य नोड की पूरी रेंज को कवर किया गया है। इस प्रकार, यह नोड तुरंत मान लौटा देगा और इसका विस्तार नहीं किया जाएगा। इस प्रकार, हम यह साबित करते हैं कि प्रत्येक स्तर पर, हम अधिकतम नोडों में विस्तार करते हैं और चूंकि स्तर हैं, जिन नोड्स का विस्तार किया गया है, वे हैं32logn2logn=Θ(logn)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.