आदेश देने के लिए न्यूनतम संख्या में स्वैप की गणना करें, पहले मैंने किसी भी संख्या के साथ एक पूर्णांक क्रम को क्रमबद्ध करने पर काम किया था (सामान्यता के नुकसान के बिना, आइए मान लें कि अनुक्रम 1,2,...,n
का क्रमपरिवर्तन है) अपने प्राकृतिक बढ़ते क्रम (यानी 1,2,...,n
) । मैं सोचता हूं कि कैसे तत्वों को स्वैप करना है (तत्वों की स्थिति के बावजूद, दूसरे शब्दों में, स्वैप किसी भी दो तत्वों के लिए मान्य है) न्यूनतम संख्या में स्वैप के साथ। मुझे लगता है कि निम्नलिखित एक व्यवहार्य एल्गोरिदम है:अनुक्रम
बाधा के साथ दो तत्वों को स्वैप करें कि इनमें से एक या दोनों को सही स्थिति में बदल दिया जाना चाहिए। जब तक कि प्रत्येक तत्व को अपनी सही स्थिति में नहीं रखा जाता है।
लेकिन मुझे नहीं पता कि गणितीय रूप से साबित करने के लिए कि उपर्युक्त एल्गोरिदम इष्टतम समाधान का कारण बन सकता है या नहीं। कोई भी मदद कर सकता है?
बहुत बहुत धन्यवाद।
के अनुक्रम क्या इस के समय जटिलता हो जाएगा का क्रमपरिवर्तन सॉर्ट करने के लिए सी में नमूना कोड ++ है? – puneet
समय जटिलता: ओ (एन * लॉगन) अंतरिक्ष जटिलता: ओ (एन) @ पुनीत –