Developer Toolbox

सिलेक्शन सॉर्ट

बची हुई सबसे छोटी वैल्यू ढूंढकर अदला-बदली से उसे अगली जगह पर रखता है। अदला-बदली बहुत कम होती है, पर तुलनाएं हमेशा उतनी ही होती हैं।

  • सर्वश्रेष्ठ Ω(n²)
  • औसत Θ(n²)
  • सबसे खराब O(n²)
  • मेमोरी O(1)
  • अनस्टेबल
  • अतिरिक्त मेमोरी नहीं चाहिए
इनका मतलब क्या है?
  • सर्वश्रेष्ठ: जब इनपुट इस एल्गोरिदम के लिए सबसे आसान हो, तब लिस्ट के आकार n के साथ समय कैसे बढ़ता है।
  • औसत: n के साथ समय की आम बढ़त। n² में वैल्यू की संख्या दोगुनी होने पर लगभग चार गुना समय लगता है; n log n बहुत धीरे बढ़ता है।
  • सबसे खराब: सबसे कठिन इनपुट पर बढ़त। तब काम का, जब रफ़्तार कभी नहीं गिरनी चाहिए।
  • मेमोरी: लिस्ट के अलावा कितनी अतिरिक्त मेमोरी चाहिए। 1 यानी कुछ वेरिएबल, n यानी लिस्ट की एक कॉपी।
  • स्टेबल: दो बराबर वैल्यू अपना मूल क्रम बनाए रखती हैं। रिकॉर्ड के किसी एक फ़ील्ड से सॉर्ट करते समय यह ज़रूरी है।
  • अतिरिक्त मेमोरी नहीं चाहिए: लिस्ट के अंदर ही सॉर्ट करता है, दूसरी लिस्ट के बिना।
  • तुलना हो रही है
  • खिसक रहा है
  • अभी की सबसे छोटी वैल्यू
  • अंतिम जगह पर
0 / 399 चरण
तुलनाएं अदला-बदली

प्ले दबाएं: रेखाएँ दिखाती हैं कि सॉर्ट के दौरान लागत कैसे बढ़ती है

प्ले दबाएं या एल्गोरिदम को चरण दर चरण देखें।

स्पेस: चलाएं या रोकें। बाएं और दाएं ऐरो: चरण दर चरण। Home और End: सीधे जाएं।

इसे आज़माएं: उलटी लिस्ट चुनें। तुलनाओं की संख्या ठीक उतनी ही रहती है जितनी किसी और लिस्ट पर।

यह कैसे काम करता है

बिना सॉर्ट वाले हिस्से में सबसे छोटी वैल्यू ढूंढें। उसकी अदला-बदली बिना सॉर्ट वाली पहली वैल्यू से करें, ताकि एक और वैल्यू अपनी अंतिम जगह पर आ जाए। यह बची हुई हर वैल्यू को हमेशा जांचता है, चाहे लिस्ट पहले से सॉर्टेड हो।

यह कब सही विकल्प है

तब काम का है जब डेटा को हिलाना महंगा हो पर पढ़ना सस्ता, क्योंकि यह हर जगह पर ज़्यादा से ज़्यादा एक अदला-बदली करता है। बाकी ज़्यादातर मामलों में इंसर्शन सॉर्ट बेहतर सरल विकल्प है।