2009-11-23 8 views
10

अब मैं अपने पुराने स्कूल असाइनमेंट को देख रहा हूं और एक प्रश्न का समाधान ढूंढना चाहता हूं।समानांतर प्रक्रिया के लिए कौन सी सॉर्टिंग विधि सबसे उपयुक्त है?

समानांतर प्रक्रिया के लिए कौन सी सॉर्टिंग विधि सबसे उपयुक्त है?

  1. बुलबुला तरह
  2. त्वरित तरह
  3. मर्ज तरह
  4. चयन तरह

मैं जल्दी तरह लगता है (या प्रकार विलय?) जवाब है।

क्या मैं सही हूँ?

उत्तर

14

तरह तरह विलय, quicksort भी आसानी से अपनी विभाजन और जीत प्रकृति के कारण parallelized किया जा सकता। व्यक्तिगत जगह-जगह विभाजन संचालन समानांतर करना मुश्किल होता है, लेकिन एक बार विभाजित होने पर, सूची के विभिन्न वर्गों को समानांतर में क्रमबद्ध किया जा सकता है।

अन्य समांतर सॉर्ट एल्गोरिदम पर समानांतर क्विकॉर्ट का एक लाभ यह है कि कोई सिंक्रनाइज़ेशन आवश्यक नहीं है। जैसे ही एक उपन्यास काम करने के लिए उपलब्ध होता है, वैसे ही एक नया धागा शुरू होता है और यह अन्य धागे के साथ संवाद नहीं करता है। जब सभी धागे पूरा हो जाते हैं, तो क्रमबद्ध किया जाता है।

http://en.wikipedia.org/wiki/Quicksort

+1

+1: क्विक्सोर्ट को एक बार विभाजन के बाद सिंक्रनाइज़ेशन की आवश्यकता नहीं है। विलय को विलय करने के लिए सिंक्रनाइज़ेशन की आवश्यकता होती है। –

+0

"अन्य समानांतर प्रकार एल्गोरिदम पर समानांतर क्विकॉर्ट का एक लाभ यह है कि कोई सिंक्रनाइज़ेशन आवश्यक नहीं है"। एर, नहीं। जवाब देने से पहले आपको सबटास्क को पूरा करने के लिए स्पष्ट रूप से इंतजार करना होगा, जो सिंक्रनाइज़ेशन है। –

4

मुझे लगता है कि विलय तरह

आप डाटासेट विभाजित और उन पर समानांतर संचालन कर सकते हैं ..

+0

+1 में किया जा सकता है, भले ही आपका निक मुझे डराता है। – Will

+8

मेरा नाम उफुक गुन है, लेकिन अंग्रेजी में यह मजाकिया लगता है :) – ufukgun

+1

मर्जसेट को सॉर्टिंग परिणामों को मर्ज करने के लिए धागे के बीच सिंक्रनाइज़ेशन की आवश्यकता होती है। Quicksort किसी भी थ्रेड सिंक्रनाइज़ेशन की आवश्यकता नहीं है। –

9

यह बनता है की विधि पर पूरी तरह से निर्भर करता है। मल्टीथ्रेडेड सामान्य कंप्यूटिंग के लिए, मर्ज सॉर्ट बहुत विश्वसनीय लोड संतुलन और स्मृति स्थानीयकरण गुण प्रदान करता है। हार्डवेयर में sorting network के लिए, बैटर, बिटोनिक, या शैल सॉर्ट का एक रूप वास्तव में सर्वोत्तम है यदि आप अच्छा ओ (लॉग² एन) प्रदर्शन चाहते हैं।

+0

+1 यहां एकमात्र सही उत्तर होने के लिए। –

1

मुझे लगता है कि मर्ज सॉर्ट यहां सबसे अच्छा जवाब होगा। क्योंकि मर्ज सॉर्ट के पीछे मूल विचार समस्या को अलग-अलग समाधानों में विभाजित करना है। उन्हें हल करें और उन्हें मर्ज करें।

हम वास्तव में समानांतर प्रसंस्करण में क्या करते हैं। समांतर गणना करने के लिए पूरी समस्या को छोटे इकाई विवरणों में विभाजित करें और फिर परिणामों में शामिल हों। धन्यवाद

0

यह दो प्रकार के सरणी पर सॉर्टिंग के बाद से विलय हो गया है और इसकी तुलना अंत में की जाती है और क्रमबद्ध होती है। इन्हें समांतर

+0

मुझे नहीं लगता कि मौजूदा उत्तरों को डुप्लिकेट करना आवश्यक है। – Mysticial

संबंधित मुद्दे

 संबंधित मुद्दे