मैं सॉफ्टवेयर में एल्गोरिदम को सॉर्ट करने के बारे में सोच रहा था, और संभव तरीके से कोई भी O(nlogn)
सड़क को पार कर सकता था । मुझे नहीं लगता कि व्यावहारिक अर्थों में तेजी से छांटना संभव है, इसलिए कृपया यह न सोचें कि मैं ऐसा करता हूं।
उस ने कहा, यह लगभग सभी सॉर्टिंग एल्गोरिदम के साथ लगता है, सॉफ़्टवेयर को प्रत्येक तत्व की स्थिति पता होनी चाहिए। जो समझ में आता है, अन्यथा, यह कैसे पता चलेगा कि प्रत्येक तत्व को कुछ छँटाई मानदंडों के अनुसार कहाँ रखा जाए?
लेकिन जब मैंने इस सोच को वास्तविक दुनिया के साथ पार किया, तो एक अपकेंद्रित्र को पता नहीं है कि प्रत्येक अणु किस स्थिति में है जब यह अणुओं को घनत्व द्वारा 'सॉर्ट' करता है। वास्तव में, यह प्रत्येक अणु की स्थिति के बारे में परवाह नहीं करता है। हालाँकि, यह खरबों वस्तुओं पर अपेक्षाकृत कम समय में खरबों को छाँट सकता है, इस तथ्य के कारण कि प्रत्येक अणु घनत्व और गुरुत्वाकर्षण कानूनों का पालन करता है - जो मुझे सोच में पड़ गए।
क्या सूची के क्रम को 'बल' देने के लिए प्रत्येक नोड पर कुछ ओवरहेड (प्रत्येक नोड पर कुछ मूल्य या विधि) से संभव होगा? एक अपकेंद्रित्र की तरह कुछ, जहां केवल प्रत्येक तत्व अंतरिक्ष में अपनी सापेक्ष स्थिति के बारे में परवाह करता है (अन्य नोड्स के संबंध में)। या, यह गणना में कुछ नियम का उल्लंघन करता है?
मुझे लगता है कि यहां लाए गए बड़े बिंदुओं में से एक प्रकृति के क्वांटम यांत्रिक प्रभाव हैं और वे एक साथ सभी कणों के समानांतर कैसे लागू होते हैं।
शायद शास्त्रीय कंप्यूटर स्वाभाविक रूप से उस क्षेत्र के सॉर्टिंग को प्रतिबंधित करते हैं O(nlogn)
, जहाँ क्वांटम कंप्यूटर उस दहलीज को पार करने में सक्षम हो सकते O(logn)
हैं जो समानांतर में कार्य करते हैं।
एक सेंट्रीफ्यूज मूल रूप से एक समानांतर बुलबुला सॉर्ट होने की बात सही प्रतीत होती है, जिसमें समय की जटिलता है O(n)
।
मुझे लगता है कि अगला विचार यह है कि अगर प्रकृति में छंटनी हो सकती है O(n)
, तो कंप्यूटर क्यों नहीं कर सकते?