जटिलता विश्लेषण में वर्गमूल विचार के उल्लेखनीय उदाहरण


15

max{k,n/k}k=n

  • में असतत लघुगणक गणना के लिए बेबी-स्टेप विशाल-चरण एल्गोरिथ्म ,O(n)
  • समय और मेमोरी में स्थिर 2D ऑर्थोगोनल रेंज की गिनती ,O(n)O(n)
  • EXTRACT-MIN के साथ प्राथमिकता कतार और , में DECREASE-KEYO(nk)O(1)
  • बहुपद समय में रंगों के साथ एक 3-colourable ग्राफ को रंग देना,O(n)

कुछ लोगों का नाम बताने के लिए।

हालांकि इस तरह के एल्गोरिदम अक्सर उप-रूपी होते हैं, वे छात्रों द्वारा समझने में आसान होते हैं और जल्दी से यह दिखाने के लिए अच्छा है कि भोली सीमाएं इष्टतम नहीं हैं। इसके अलावा, वर्ग-मूल-विचार डेटा संरचनाएं कभी-कभी कैश बाइनरी मित्रता (कैश-अनजान तकनीकों पर विचार नहीं करने) के कारण अपने बाइनरी ट्री आधारित समकक्षों की तुलना में अधिक व्यावहारिक होती हैं। इसलिए मैं पढ़ाते समय इस विषय पर अच्छा ध्यान देता हूं।

मैं इस तरह के अधिक विशिष्ट उदाहरणों में रुचि रखता हूं। इसलिए मैं किसी भी (अधिमानतः सुरुचिपूर्ण) एल्गोरिदम, डेटा संरचनाओं, संचार प्रोटोकॉल आदि की तलाश कर रहा हूं जो विश्लेषण वर्गमूल विचार पर निर्भर करता है। उनके एसिम्पोटिक्स को इष्टतम होने की आवश्यकता नहीं है।


मुझे खेद है अगर सवाल थोड़ा अस्पष्ट है; बेहिचक सुधार करें।
दिमित्रो कोर्डुबन

क्या यह सीडब्ल्यू होना चाहिए?
सुरेश वेंकट

2
@ सुरेश: यदि "बड़ी सूची ⇒ सीडब्ल्यू" नियम अभी भी प्रभावी है, तो हाँ, यह सीडब्ल्यू होना चाहिए।
त्सुयोशी इतो


यह नक्शे को कम करने वाले मॉडल के लिए हाल के एल्गोरिदम पर एक मूल चाल है
सैशो निकोलेव

जवाबों:


10

चेज़ेल , लियू, और मैगन के पेपर सबलिनियर जियोमेट्रिक एल्गोरिदम (एसटीओसी 2003, एसआईसीओएमपी 2006) में निम्नलिखित यादृच्छिक नमूने चाल के कई चतुर अनुप्रयोग हैं। उसी चाल के बदलाव पहले गार्टनर और वेल्ज़ल [डीसीजी 2001 ] द्वारा किए गए थे , जो सीएलआर (1990) के पहले संस्करण का हवाला देते हैं।

मान लीजिए कि हमें संख्याओं की एक क्रमबद्ध गोलाकार लिंक दी गई है, जो मेमोरी के एक सन्निहित ब्लॉक में संग्रहीत है। अर्थात्, हमारे पास दो सरणियाँ हैं और , जहाँKey[1..n]Next[1..n]

  • एनKey[1..n] अनियंत्रित क्रम में संख्याओं के एक समूह को संग्रहीत करता है ;n
  • अगर सेट में सबसे बड़ी संख्या है, तो कश्मीर y [ एन एक्स टी [ मैं ] ] सेट में सबसे छोटी संख्या है, अन्यथा, कश्मीर y [ एन एक्स टी [ मैं ] ] सेट से भी बड़ा है कि में सबसे छोटी संख्या है कश्मीर y [ मैं ]Key[i]Key[Next[i]]Key[Next[i]]Key[i]

तब हम किसी दिए गए नंबर के उत्तराधिकारी को O ( success) में पा सकते हैंxअपेक्षित समय इस प्रकार है:O(n)

  • का एक यादृच्छिक नमूना चुनें तत्वकेवाई। चलोकश्मीरy[जे]सबसे बड़ा नमूना है कि तुलना में छोटा होता होएक्स(या सबसे बड़ा नमूना है, अगर सभी नमूनों से अधिक हैंएक्स)।nKeyKey[j]xx

  • का पालन से संकेत दिए गए कश्मीर y [ जे ] जब तक हम से बड़ी संख्या देख सकते हैं या के बराबर एक्स (चारों ओर लपेटकर अगर सभी नमूनों से बड़े थे के बाद एक्स )।NextKey[j]xx

याओ के लेम्मा के एक अपेक्षाकृत सरल अनुप्रयोग का तात्पर्य है कि अपेक्षित समय सीमा इष्टतम है। इस समस्या के लिए किसी भी नियतात्मक एल्गोरिथमको सबसे खराब स्थिति मेंΩ(n)समय कीआवश्यकता होती है।O(n)Ω(n)


10

कर रहे हैं त्रिकोण में किसी भी मीटर -edge ग्राफ और वे में पाया जा सकता है कि हे ( एम 3 / 2 ) समय। ऐसा करने के कई तरीके हैं, लेकिन मुझे लगता है कि जल्द से जल्द इताई और रोडे (एसटीओसी 1977) में से एक है जो एक एल्गोरिथ्म प्रदान करता है जो रैखिक-पुनरावृत्तियों के अनुक्रम से गुजरता है, जिनमें से प्रत्येक ग्राफ़ से एक फैले हुए जंगल को हटा देता है। शुरुआती पुनरावृत्तियों में जब शेष वन में कम से कम n - k घटक होते हैं, तो एल्गोरिथ्म प्रति चरण में कम से कम k किनारों को हटाता है , और देर से पुनरावृत्तियों में जब यह कम से कम होता हैO(m3/2)mO(m3/2)nkk घटक, अधिकतमचरण k है और प्रत्येक चरण में कम से कम एक से सिकुड़ता है। इसलिए पुनरावृत्तियों की कुल संख्या अधिकांश m / k + k पर है और सही ट्रेडऑफ़ चुनने पर O ( it) की समग्र सीमा मिलती हैnkkm/k+kपुनरावृत्तियों और परहे(एम 3 / 2 )समय पर।O(m)O(m3/2)

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