क्रमबद्ध सरणियों के संघ में चयन करें: पहले से ही ज्ञात?


12

मैं निम्नलिखित एल्गोरिथ्म / समस्या के लिए ग्रंथ सूची के संदर्भों की तलाश कर रहा हूं: मैंने इसे "BiSelect" या "t-ary Select" या "Union of Sorted Arrays" का नाम दिया है, लेकिन मुझे लगता है कि इसे किसी अन्य नाम से पहले पेश किया गया था?

संकट

निम्नलिखित समस्या पर विचार करें:

यह देखते हुए k संबंध तोड़ना क्रमबद्ध सरणियों A1,,Ak , संबंधित आकार के n1,,nk , और एक पूर्णांक t[1..ni] , क्या है t उनके क्रमबद्ध संघ के मई के मूल्य iAi ?

समाधान

O(lgmin{n1,n2,t})k = 2 A 1 [ t / 2 ] A 2 [ t / 2 ] A 1 [ t / 2 .. t ] A 2 [ 1 .. t / 2 ] A 1 [ 1 .. t / 2 ] एक 2 [ टी / 2 .. टी ] टी / 2 एन 1 एन 2 टीk=2k=2A1[t/2]A2[t/2]A1[t/2..t]A2[1..t/2]A1[1..t/2]A2[t/2..t]t/2n1n2t

इस बार में चल रहे एक से थोड़ा अधिक परिष्कृत विधि को सामान्यीकृत के बड़े मूल्यों के लिए , मूल्यों की औसत कंप्यूटिंग के आधार पर के लिए : सबसे छोटे तत्वों को सरणियों में आगे अनदेखा किया जा सकता है जहाँ तुलना में छोटा होता है, और में रैंक के तत्वों को में और भी अनदेखा किया जा सकता है। अन्य आवर्ती , जिसके परिणामस्वरूप प्रत्येक पुनरावृत्ति में का ठहराव होता है (और मंझला के लिए की लागत )।कश्मीर एक मैं [ टी / कश्मीर ] मैं [ 1 .. कश्मीर ] टी / कश्मीर कश्मीर / 2 एक मैं [ टी / कश्मीर ] [ टी - टी / कश्मीर ] k / 2 टीO(klgt)kAi[t/k]i[1..k]t/kk/2Ai[t/k][tt/k..]k/2tO(k)

संदर्भ?

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

मंशा

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

जवाबों:


2

1982 में फ्रेडरिकसन और जॉनसन द्वारा वर्णित एल्गोरिदम का मानना ​​है कि सभी सेटों का आकार समान है। उन्होंने 1980 में एक इष्टतम समाधान का भी वर्णन किया जो विभिन्न आकारों के क्रमबद्ध सेटों का लाभ उठाता है। इस एल्गोरिथ्म की जटिलता ।O(k+i=1klogni)

संदर्भ

ग्रेग एन। फ्रेडरिकसन और डोनाल्ड बी। जॉनसन। 1980. सामान्यीकृत चयन और रैंकिंग (प्रारंभिक संस्करण)। कंप्यूटिंग के सिद्धांत (STOC '80) के बारहवें वार्षिक ACM संगोष्ठी की कार्यवाही में। एसीएम, न्यूयॉर्क, एनवाई, यूएसए, 420-428। DOI = 10.1145 / 800141.804690 http://doi.acm.org/10.1145/800141.804690


20

फ्रेडरिकसन और जॉनसन ने 80 के दशक में एक इष्टतम परिणाम प्राप्त किया। चलो , तो एक एल्गोरिथ्म में अपनी समस्या का हल मौजूद ।O ( k + p लॉग टी)p=min(k,t)O(k+plogtp)

संदर्भ

जीएन फ्रेडरिकसन, डीबी जॉनसन " एक्स + वाई में चयन और रैंकिंग की जटिलता और सॉर्ट किए गए स्तंभों के साथ जे। कॉम्पुट।" सिस्टम साइंस।, 24 (2) (1982), पीपी। 197-208


0

K = 2 मामला समानांतर मर्ज प्रकार में आता है क्योंकि समान धागे की समान मात्रा बनाए रखने के लिए विभिन्न थ्रेड्स से दो सॉर्ट किए गए सरणियों के विलय को दो थ्रेड्स के बीच विभाजित करने की आवश्यकता होती है। यह होमवर्क समाधान एक संदर्भ है।

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