एक प्रकार को स्थिर माना जाता है यदि यह समान कुंजी वाले तत्वों के सापेक्ष क्रम को बनाए रखता है। मुझे लगता है कि मेरा सवाल वास्तव में है, इस सापेक्ष आदेश को बनाए रखने का क्या फायदा है? क्या कोई उदाहरण दे सकता है? धन्यवाद।एक प्रकार के एल्गोरिदम स्थिर होने के लिए क्या लाभ है?
उत्तर
नहीं सभी छंटाई पूरे मूल्य पर आधारित है। लोगों की एक सूची पर विचार करें। मैं केवल उनकी सभी जानकारी के बजाय उन्हें अपने नाम से सॉर्ट करना चाहता हूं। एक स्थिर सॉर्टिंग एल्गोरिदम के साथ, मुझे पता है कि अगर मेरे पास "जॉन स्मिथ" नामक दो लोग हैं, तो उनके रिश्तेदार आदेश को संरक्षित किया जा रहा है।
Last First Phone
-----------------------------
Wilson Peter 555-1212
Smith John 123-4567
Smith John 012-3456
Adams Gabriel 533-5574
के बाद से दो "जॉन स्मिथ" s पहले से ही "हल कर रहे हैं", मैं उन्हें पदों को बदलना चाहते हैं नहीं होगा (वे आदेश मैं उन्हें चाहते हैं कर रहे हैं)। अगर मैं पिछले द्वारा इन वस्तुओं को सॉर्ट, तो पहले एक अस्थिर छंटाई एल्गोरिथ्म के साथ, मैं अंत सकता है या तो इस के साथ:
Last First Phone
-----------------------------
Adams Gabriel 533-5574
Smith John 123-4567
Smith John 012-3456
Wilson Peter 555-1212
है कौन सा मैं क्या चाहते हैं, या मैं इस लग सकती है:
Last First Phone
-----------------------------
Adams Gabriel 533-5574
Smith John 012-3456
Smith John 123-4567
Wilson Peter 555-1212
(आप दो "जॉन स्मिथ" ने स्थान बदल दिए हैं)। यह वह नहीं है जिसकी मुझे चाहत है।
अगर मैं एक स्थिर छँटाई कलन विधि का इस्तेमाल किया, मैं पहला विकल्प है, जो कि मैं क्या कर रहा हूँ के बाद की गारंटी दी जाएगी।
प्राथमिकता कतार इसका एक उदाहरण है।
- (1, "बॉब")
- (3, "बिल")
- (1, "जेन")
आप इस छोटी से सॉर्ट हैं: यदि आप इस राशि कहो सबसे बड़ी संख्या में, एक अस्थिर प्रकार यह कर सकता है।
- (1, "जेन")
- (1, "बॉब")
- (3, "बिल")
... लेकिन फिर "जेन" से आगे हो गया "बॉब" हालांकि यह चारों ओर एक और तरीका माना जाता था।
आम तौर पर, वे एक से अधिक चरणों में कई प्रविष्टियाँ छँटाई के लिए उपयोगी होते हैं।
एक सॉर्टिंग एल्गोरिदम स्थिर है यदि यह डुप्लिकेट कुंजी के क्रम को सुरक्षित रखता है।
ठीक है, ठीक है, लेकिन क्यों यह महत्वपूर्ण होना चाहिए? खैर, एक सॉर्टिंग एल्गोरिदम में "स्थिरता" का सवाल उठता है जब हम अलग-अलग कुंजी के अनुसार एक ही डेटा को एक से अधिक सॉर्ट करना चाहते हैं।
कभी-कभी डेटा आइटम्स में कई कुंजी होती हैं। उदाहरण के लिए, शायद एक (अनूठी) प्राथमिक कुंजी जैसे सामाजिक बीमा संख्या, या छात्र पहचान संख्या, और एक या अधिक माध्यमिक कुंजी, जैसे कि निवास शहर, या प्रयोगशाला अनुभाग। और हम इस तरह के डेटा को चाबियों में से एक से अधिक क्रमबद्ध करना चाहते हैं। समस्या यह है कि, यदि हम एक ही कुंजी को एक कुंजी के अनुसार क्रमबद्ध करते हैं, और फिर दूसरी कुंजी के अनुसार, दूसरी कुंजी पहले प्रकार से प्राप्त ऑर्डरिंग को नष्ट कर सकती है। लेकिन ऐसा नहीं होगा यदि हमारा दूसरा प्रकार एक स्थिर प्रकार है।
मैंने डाउनवोट नहीं किया था, लेकिन आपने जो कुछ किया वह वेबसाइट से डेटा कॉपी किया गया था। अन्य वास्तव में इस मुद्दे को समझाने के लिए परेशानी में गए, इसलिए शायद यही कारण है। मेरे लिए एक लायक नहीं लगता है, लेकिन अन्य ऐसा सोच सकते हैं। –
कि, आईएमओ, पहिया को पुनर्निर्मित नहीं कर रहा है और उचित विशेषता के साथ उद्धरण भी नहीं दे रहा है। YMMV। – dirkgently
उपरोक्त; एक संक्षिप्त उद्धरण और प्रतिष्ठित स्रोत का एक लिंक इस जगह के चारों ओर तैरने वाले कई उत्तरों से बेहतर है। – Kevin
ही एक मामला से है जब आपके पास कई कुंजी के आधार पर सॉर्ट करना चाहते हैं। उदाहरण के लिए, पहले नाम/उपनाम जोड़े की सूची को सॉर्ट करने के लिए, आप पहले नाम से पहले और फिर उपनाम द्वारा क्रमबद्ध कर सकते हैं।
यदि आपका सॉर्ट स्थिर नहीं था, तो आप पहले प्रकार का लाभ खो देंगे।
इसका मतलब है कि यदि आप एल्बम द्वारा क्रमबद्ध करना चाहते हैं, और ट्रैक नंबर से, तो आप पहले ट्रैक नंबर पर क्लिक कर सकते हैं, और इसे सॉर्ट किया गया है - फिर एल्बम का नाम क्लिक करें, और प्रत्येक एल्बम के लिए ट्रैक नंबर सही क्रम में रहते हैं।
मुझे आश्चर्य है कि कितने लोगों को एहसास है कि यह इस तरह से काम करता है? लगभग रिवर्स पोलिश नोटेशन की तरह लगता है। –
यह कई प्रकार के माध्यम से आपकी श्रृंखला को 'श्रृंखला' में सक्षम बनाता है।
कहें कि आपके पास यादृच्छिक क्रम में पहले और अंतिम नाम वाली तालिका है। यदि आप पहले नाम से क्रमबद्ध करते हैं, और उसके बाद अंतिम नाम से, स्थिर सॉर्टिंग एल्गोरिदम सुनिश्चित करेगा कि अंतिम नाम वाले लोगों को पहले नाम से क्रमबद्ध किया गया हो।
उदाहरण के लिए:
- स्मिथ, अल्फ्रेड
- स्मिथ, जेड
सही क्रम में होने की गारंटी किया जाएगा।
तुलनात्मक अनुमान में यह पहला और अंतिम नाम क्यों शामिल नहीं है? फिर आपको केवल एक बार सॉर्ट करना होगा। – SebastianK
यह उपयोगी है जब आप समय से पहले की स्थिति नहीं जानते हैं। एक सूचीदृश्य की कल्पना करें जहां उपयोगकर्ता क्रमबद्ध करने के लिए कॉलम पर क्लिक करता है, और फिर आगे क्रमबद्ध करने के लिए किसी अन्य कॉलम पर क्लिक करता है। –
एक उदाहरण:
आप एक डेटा संरचना है कि फोन नंबर और कर्मचारियों को जो उन्हें कहा जाता है के जोड़े शामिल है कहो। प्रत्येक कॉल के बाद एक नंबर/कर्मचारी रिकॉर्ड जोड़ा जाता है। कई फोन नंबरों को कई अलग-अलग कर्मचारियों द्वारा बुलाया जा सकता है।
इसके अलावा, आप फोन नंबर द्वारा क्रमित और पहले 2 लोग हैं, जो किसी भी नंबर पर फोन किया करने के लिए एक बोनस देने के लिए चाहते हैं।
आप एक अस्थिर एल्गोरिथ्म के साथ सॉर्ट हैं, तो आप दी गई संख्या के कॉल करने के क्रम बनाए रखने के नहीं हो सकता है, और गलत कर्मचारियों बोनस दिया जा सकता।
एक स्थिर एल्गोरिथ्म यह सुनिश्चित करें कि फोन नंबर के प्रति सही 2 कर्मचारी बोनस प्राप्त करता है।
उस बिंदु के उत्तर पर मैं देख रहा था। – bharatj
स्थिर छंटाई का लाभ कई चाबी के लिए संदिग्ध है, तो आप हमेशा एक तुलना कि एक बार में सभी चाबियाँ तुलना उपयोग कर सकते हैं। यह केवल एक फायदा है यदि आप एक समय में एक फ़ील्ड को सॉर्ट कर रहे हैं, जैसे कॉलम शीर्षक पर क्लिक करते समय - Joe Koberg एक अच्छा उदाहरण देता है।
किसी भी तरह एक स्थिर प्रकार में बदल सकता है अगर आप रिकॉर्ड करने के लिए एक दृश्य के नंबर जोड़ने के लिए खर्च कर सकते हैं, और एक टाई ब्रेकर के रूप में उपयोग जब बराबर कुंजी के साथ प्रस्तुत किया।
सबसे बड़ा लाभ तब आता है जब मूल क्रम में कुछ अर्थ होता है। मैं एक अच्छे उदाहरण के साथ नहीं आ सकता था, लेकिन मैं JeffH देखता था, जबकि मैं इसके बारे में सोच रहा था।
मान लीजिए कि आप एक इनपुट सेट जो दो क्षेत्रों है पर छँटाई कर रहे हैं, और, आप केवल प्रकार पहले पर। '|' चरित्र खेतों को विभाजित करता है।
इनपुट में सेट आप कई प्रविष्टियों है, लेकिन, आप 3 प्रविष्टियों को
की तरह लग रही है। । । एएए | टॉइंग । । । एएए | कार किराए पर लेना । । । एएए | नलसाजी । । ।
अब, जब आप सॉर्टिंग करते हैं तो आप उन सभी क्षेत्रों को एएए के साथ मिलकर उम्मीद करते हैं।
एक स्थिर प्रकार आपको देगा: । । । एएए | टॉइंग एएए | कार किराए पर लेना एएए | नलसाजी । । ।
यानी, तीन रिकॉर्ड जो एक ही तरह की कुंजी, एएए थे, आउटपुट में उसी क्रम में हैं जो वे इनपुट में थे। ध्यान दें कि उन्हें दूसरे फ़ील्ड पर सॉर्ट नहीं किया गया है, क्योंकि आपने रिकॉर्ड में दूसरे फ़ील्ड को सॉर्ट नहीं किया है।
एक अस्थिर प्रकार आपको देगा: । । । एएए | प्लंबिंग एएए | कार किराए पर लेना एएए | टॉइंग । । ।
ध्यान दें कि रिकॉर्ड अभी भी पहले फ़ील्ड पर क्रमबद्ध हैं, और दूसरा फ़ील्ड इनपुट ऑर्डर से अलग है।
एक अस्थिर प्रकार की तेज़ी से होने की संभावना है। एक स्थिर प्रकार नकल करता है कि जब वे कुछ सॉर्ट करते हैं तो गैर-कंप्यूटर वैज्ञानिक/गैर-गणित लोगों के मन में क्या होता है। हां, अगर आपने इंडेक्स कार्ड के साथ एक सम्मिलन प्रकार किया है तो आपके पास सबसे अधिक स्थिर प्रकार होगा।
आप हमेशा एक ही समय में सभी क्षेत्रों की तुलना नहीं कर सकते हैं। कुछ उदाहरण: (1) मेमोरी सीमाएं, जहां आप एक बड़ी डिस्क फ़ाइल को सॉर्ट कर रहे हैं, और मुख्य मेमोरी में सभी रिकॉर्ड्स के सभी फ़ील्ड के लिए जगह नहीं है; (2) बेस क्लास पॉइंटर्स की एक सूची को सॉर्ट करना, जहां कुछ ऑब्जेक्ट उप-वर्ग प्राप्त किए जा सकते हैं (आपके पास केवल बेस क्लास फ़ील्ड तक पहुंच है)।
इसके अलावा, स्थिर प्रकारों में एक ही इनपुट दिए गए निर्धारिती आउटपुट होते हैं, जो डिबगिंग और परीक्षण के लिए महत्वपूर्ण हो सकते हैं।
- 1. स्थिर कार्य का लाभ क्या है?
- 2. जेनेटिक एल्गोरिदम - स्थिर राज्य चयन क्या है?
- 3. स्थिर प्रकार फेंकने के लिए तर्क?
- 4. एक स्थिर सदस्य के लिए एक अनिर्धारित संदर्भ होने का क्या अर्थ है?
- 5. एक प्रकार के लिए उपरोक्त क्या है?
- 6. क्या डब्ल्यूपीएफ में एक स्थिर संसाधन के लिए एक प्रकार कनवर्टर की आपूर्ति करना संभव है?
- 7. "हैलो वर्ल्ड!" क्या है आनुवांशिक एल्गोरिदम के लिए अच्छा है?
- 8. टाइपक्लास पर उप-प्रकार के लाभ
- 9. जावा सिंगलटन बनाम स्थिर - क्या वास्तविक प्रदर्शन लाभ है?
- 10. अतिव्यापी अंतराल खोजने के लिए एक साफ एल्गोरिदम क्या है?
- 11. ज्यामितीय एल्गोरिदम के लिए एक अच्छा स्रोत क्या है?
- 12. एक गोलाकार वृक्षारोपण डालने के लिए एल्गोरिदम क्या है?
- 13. क्या MaxPermSize को छोटा रखने के लिए कोई लाभ है?
- 14. क्या एरलांग के लिए एक स्थिर कैसंद्रा पुस्तकालय है?
- 15. एक साधारण दुभाषिया के साथ प्रयोग करने के लिए एक सरल कचरा संग्रह एल्गोरिदम क्या है?
- 16. किसी प्रकार के प्रकार के लिए (आधिकारिक) शब्द क्या है?
- 17. स्थिर यादृच्छिक रंग एल्गोरिदम
- 18. बूस्ट :: एल्गोरिदम के लिए एक अच्छा उदाहरण ::
- 19. सी # सामान्य रिटर्न प्रकार होने के लिए संभव है?
- 20. कुशल और स्थिर बाह्य प्रकार एल्गोरिदम कार्यान्वयन क्या है (सी में लिखा गया है)?
- 21. नोड ग्राफ़ में यादृच्छिक पथ के लिए तेज़ और स्थिर एल्गोरिदम क्या है?
- 22. कोरआउट के लाभ क्या हैं?
- 23. क्या वीएम पर निर्माण चलाने के लिए जेनकींस के लिए एक स्थिर प्लगइन है?
- 24. 'स्थिर' कार्यों के लिए प्रोटोटाइप
- 25. एल्गोरिदम के प्रयोजनों के लिए लॉगरिदम का आधार क्या है?
- 26. वर्ग के अपने प्रकार के स्थिर वर्ग के सदस्य
- 27. स्थिर सार तरीकों के विकल्प क्या है?
- 28. क्या Python2.6 उत्पादन के उपयोग के लिए पर्याप्त स्थिर है?
- 29. मेरे एल्गोरिदम के साथ क्या गलत है?
- 30. जल-बचत मूत्र के लिए इष्टतम एल्गोरिदम डिज़ाइन क्या है?
ऊपर की ओर; किसी और ने उल्लेख नहीं किया, "रिश्तेदार" आदेश का संरक्षण। – techtrainer