किसी सूची को क्रमबद्ध करने के लिए न्यूनतम संख्या में परिवर्तन


15

अपने स्वयं के सॉर्टिंग एल्गोरिदम को तैयार करने की कोशिश में, मैं सबसे इष्टतम बेंचमार्क की तलाश कर रहा हूं, जिससे मैं इसकी तुलना कर सकूं। तत्वों और क्रमबद्ध बी के क्रमबद्ध ऑर्डर के लिए, से बी तक प्राप्त करने के लिए ट्रांसपोज़िशन की इष्टतम संख्या की गणना करने का एक कुशल तरीका क्या है ?

एक ट्रांसपोज़िशन को सूची में 2 तत्वों की स्थिति को स्विच करने के रूप में परिभाषित किया गया है, इसलिए उदाहरण के लिए

1 2 4 3

इसे बनाने के लिए एक स्थानान्तरण (ट्रांसपोज़िशन 4 और 3) है

1 2 3 4

कुछ इस तरह

1 7 2 5 9 6

4 ट्रांसपोज़िशन (7, 2), (7, 6), (6,5), (9, 7) की आवश्यकता होती है

अद्यतन (9/7/11): गैर-आसन्न एक्सचेंजों को संदर्भित करने के लिए "स्वैप" के बजाय "ट्रांसपोज़िशन" का उपयोग करने के लिए प्रश्न बदल गया।


क्या होगा अगर तुम सिर्फ पड़ोसियों को स्वैप कर सकते हो? मैं स्वैप की न्यूनतम संख्या का पता कैसे लगा सकता हूं?

जवाबों:


23

आप केवल के क्रमपरिवर्तन के साथ काम कर रहे हैं तत्वों, तो आप वास्तव में जरूरत होगी एन - सी ( π ) अदला-बदली, जहां सी ( π ) में चक्र की संख्या है संबंध तोड़ना चक्र अपघटन के π । चूंकि यह दूरी द्वि-अपरिवर्तनीय, बदलने है π में σ (या एक में बी , या इसके विपरीत) की आवश्यकता है n - सी ( σ - 1π ) इस तरह चलता रहता है।nnc(π)c(π)ππσABnc(σ1π)


बहुत समय पहले इसके लिए मतदान करने के बावजूद, यह आज ही क्लिक किया गया था। रुबिक के क्यूब की तरह, सही: डी?
sova

11

स्वैप की दूरी को यूक्लिडियन स्थान में सममित रूप से एम्बेडेड किया जा सकता है। प्रत्येक स्ट्रिंग s के लिए, एक मैट्रिक्स निर्माण करें जहां M i j = 1 यदि मैं j से पहले होता है और अन्यथा शून्य है। तब Frobenius दूरी एम ( रों ) - एम ( रों ' ) 2 स्वैप की दूरी है ( रों , एस ' ) । ( ग्राहम कॉर्मोड की स्लाइड्स से ) एंथनी के जवाब के रूप में सुरुचिपूर्ण नहीं है, लेकिन गणना करने के लिए काफी आसान है।M(s)Mij=1ijM(s)M(s)2d(s,s)

अपडेट: कृपया ओलेक्सेंडर की टिप्पणियों को देखें


मुझे ऐसा लगता है कि ग्राहम प्रस्तुति में वे मतलब वर्णक्रमीय आदर्श ( ) और नहीं Frobenius आदर्श ( एक एफ )। A2AF
ऑलेक्ज़ेंडर बॉन्डारेंको

यद्यपि यदि आप सभी करना चाहते हैं तो मतभेदों को गिनना है, तो फ्रोबेनियस मानदंड का वर्ग सही काम करना चाहिए?
सुरेश वेंकट

जो निश्चित रूप से 0-1 मैट्रिसेस के लिए हैमिंग की दूरी है
सुरेश वेंकट

2

ऑलेक्ज़ेंडर: तो मुझे लगता है कि आप "स्वैपिंग" की व्याख्या "दो आसन्न तत्वों के आदान-प्रदान" के रूप में करते हैं?
एंथोनी लैबर्रे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.