2011-01-09 20 views
10

क्या रेडिक्स सॉर्ट फ्लोट डेटा को क्रमबद्ध करने में सक्षम है उदाहरण के लिए 0.5, 0.9, 1.02 इत्यादि?रैडिक्स सॉर्ट करें, एक फ्लोट डेटा सॉर्ट करना

+0

मैं केवल अर्थ मैं अपने द्विआधारी मूल्य में हर इनपुट कन्वर्ट और फिर तरह मूलांक के लिए, यह अपने छंटाई तेजी लाने के लिए एक विकल्प हो सकता है आगे बढ़ना होगा 0 और 1 में अपनी बाल्टी को कम करके मूलांक छंटाई को लागू करना चाहते हैं या इस बनाना होगा रेडिक्स पहले से थोड़ा धीमा सॉर्ट करें? धन्यवाद। महान लेखों के लिए – BGV

उत्तर

1

आउट ऑफ़ द बॉक्स, लेकिन आपके पास कुछ विकल्प हैं। आप डेटा को विघटित कर सकते हैं, उदाहरण के लिए, 100 से गुणा करके और गोल करना (ताकि आपके ऊपर, उदाहरण के लिए, 5, 9, और 102) हो। आप डेटा को भी बकाया कर सकते हैं (< x < = 1, 1 < x < = 2) में श्रेणियों द्वारा समूह संख्याएं, और फिर प्रत्येक बाल्टी के भीतर क्रमबद्ध करें।

24

हां, यह संभव है। नकारात्मक मानों को सही तरीके से संभालने के लिए इसे एक अतिरिक्त पास की आवश्यकता होती है। Pierre Terdiman और Michael Herf द्वारा दिए गए लेख विस्तार से चर्चा करते हैं कि इसे कैसे कार्यान्वित किया जाए। संक्षेप में, आप फ्लोट को बिना हस्ताक्षरित पूर्णांक में परिवर्तित करते हैं, उन्हें सॉर्ट करते हैं, और फिर उन्हें वापस फ़्लोट में परिवर्तित करते हैं (यह आवश्यक है, अन्यथा सकारात्मक मानों के बाद नकारात्मक मान गलत तरीके से सॉर्ट किए जाएंगे)। (बशर्ते कि आपके प्रोसेसर भंडार आईईईई 754 मानक के अनुसार नाव)

उनकी विधि लाभ यह है कि आप अपने डेटा में किसी भी त्रुटि को पेश नहीं करते है।

+0

+1। –

+1

यहाँ एक और दिलचस्प लेख (http://seven-degrees-of-freedom.blogspot.com/2010/07/question-of-sorts.html) मर्ज प्रकार के एस पी यू parallelized संस्करण के लिए मूलांक तरह की तुलना है। सारांश में मर्ज प्रकार, जबकि अधिक जटिल (जटिलता हे है (एन लॉग इन करें n) मूलांक तरह हे (एन) के खिलाफ), और अधिक आसानी से parallelized किया जा सकता है और अंत में जीतने के लिए। –

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