सॉर्टिंग एल्गोरिथ्म, जैसे कि प्रत्येक तत्व की तुलना


39

क्या कोई ज्ञात तुलना सॉर्टिंग एल्गोरिदम है जो सॉर्टिंग नेटवर्क को कम नहीं करता है, जैसे कि प्रत्येक तत्व की तुलना बार की जाती है?O(logn)

जहाँ तक मुझे पता है, प्रत्येक तत्व पर तुलना करने का एकमात्र तरीका n इनपुट के लिए AKS सॉर्टिंग नेटवर्क का निर्माण करना है, और सॉर्टिंग नेटवर्क पर इनपुट चलाना है।O(logn)n

AKS को लागू करना आसान नहीं है और इसमें अव्यावहारिक स्थिर कारक है, इसलिए अन्य एल्गोरिदम की खोज करने के लिए प्रेरणाएं हैं।

साथ एक एल्गोरिथ्म प्रति आइटम की तुलना करता है जो प्रतीत नहीं होता है कि एक सॉर्टिंग नेटवर्क यहां प्रस्तुत किया गया है । (Iirc, यह पहली बार रॉब जॉनसन द्वारा स्टोनी ब्रुक के एल्गोरिथम सेमिनार में प्रस्तुत किया गया था )।O(log2n)


2
मैं इस सवाल को नहीं समझता: कई अनुक्रमिक एल्गोरिदम आपके अनुरोध के अनुरूप लगते हैं। जैसे मर्ज सॉर्ट एक शास्त्रीय सॉर्टिंग एल्गोरिथ्म है, और प्रति तत्व तुलना से अधिक नहीं बनाता है। शायद आप समानांतर छँटाई एल्गोरिदम के बारे में पूछ रहे हैं ? logn
जेरेमी

4
@Jeremy: आप दो सूचियों, विलय हैं और ( 1 , , बी एन ) , आप की तुलना खत्म हो सकता है एक 1 से प्रत्येक के खिलाफ 1 , , n , कि है, Ω ( एन ) एक तत्व प्रति तुलना। और यह सिर्फ एक "मर्ज" कदम था। बेशक औसत(a1,...,an)(b1,...,bn)a1b1,...,bnΩ(n)तुलना की संख्या आवश्यक रूप से छोटी है, लेकिन सवाल सबसे खराब स्थिति के बारे में है।
जूका सूमेला

6
मुझे विश्वास है कि यह संभव है। सॉर्टिंग नेटवर्क डेटा से अनजान हैं और उनकी तुलना का पूर्व निर्धारित तरीका है, लेकिन एक सॉर्टिंग एल्गोरिथ्म डेटा पर निर्भर संचालन के विभिन्न सेटों के बीच चयन करने में सक्षम हो सकता है। प्रत्येक के लिए तुलना के साथ एक एल्गोरिथ्म में मर्ज सॉर्ट को संशोधित कर सकता है , और इसके लिए एक सॉर्टिंग नेटवर्क reddit.com/comments/9jqsi/…O(log2n)
Chao Xu

1
(a1,,an)(b1,,bn)nlgn

2
अब एक नया संबंधित (लेकिन उम्मीद से बहुत आसान) सवाल है: cstheory.stackexchange.com/questions/8073/…
Jukka Suomela

जवाबों:


17

माइकल टी। गुडरिक के साथ इस पर चर्चा करने पर, ऐसा लगता है कि EREW PRAM के लिए कोल द्वारा समानांतर छँटाई एल्गोरिथम काम करता है। देख

O(logn)O(1)

समानांतर पॉइंटर मशीन के लिए उस एल्गोरिथ्म का विस्तार दिया गया है


हम जानना चाहेंगे कि आप कौन हैं! : D
तैफुन पे

@someone सर्जियो कैबेलो
कोई

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