4
ध्यान केंद्रित करना
1271
समर्थक

7 सामान्यतः प्रयुक्त सॉर्टिंग एल्गोरिदम (सामान्यतः लेखन रणनीतियों के लिए प्रयुक्त) का दृश्यात्मक सहज अनुभव

में बनाया: 2016-12-06 10:23:16, को अपडेट:
comments   2
hits   1925

7 सामान्य रूप से उपयोग किए जाने वाले सॉर्टिंग एल्गोरिदम

जब हम रणनीति लिखते हैं, तो प्रोग्राम कोड में डेटा को क्रमबद्ध करने के लिए अपरिहार्य रूप से स्थितियां होती हैं, तो हम वैज्ञानिक रूप से कम से कम सिस्टम व्यय (समय, सिस्टम संसाधन) के साथ प्रोग्राम कैसे डिजाइन कर सकते हैं?

  • ### 1. त्वरित क्रम

कहानी: फास्ट सॉर्टिंग एक सॉर्टिंग एल्गोरिथ्म है जो टोनी हॉल द्वारा विकसित किया गया है। औसत स्थिति में, n परियोजनाओं को क्रमबद्ध करने के लिए O (n log n) बार की आवश्यकता होती है। सबसे खराब स्थिति में, यह O (n) बार की आवश्यकता होती है, लेकिन यह स्थिति आम नहीं है। वास्तव में, फास्ट सॉर्टिंग आमतौर पर अन्य O (n log n) एल्गोरिदम की तुलना में काफी तेज है, क्योंकि इसका आंतरिक चक्र (inner loop) अधिकांश वास्तुकला पर बहुत कुशलता से लागू किया जा सकता है, और अधिकांश वास्तविक दुनिया के डेटा पर, डिजाइन विकल्पों पर निर्णय लिया जा सकता है, जो आवश्यक समय की द्विपक्षीय संभावनाओं को कम करता है। कदम: एक तत्व को चुनें, जिसका नाम है pivot (pivot), और उस पर क्लिक करें. अनुक्रम को फिर से व्यवस्थित करें, सभी तत्वों को जो कि बेंचमार्क से कम हैं, बेंचमार्क के सामने रखा गया है, और सभी तत्व जो बेंचमार्क से अधिक हैं, बेंचमार्क के पीछे रखा गया है। एक ही संख्या दोनों तरफ हो सकती है। इस विभाजन के बाहर निकलने के बाद, यह आधार सरणी के मध्य में है। इसे विभाजन कहा जाता है। पुनरावर्ती रूप से ((recursive) बेंचमार्क तत्वों से छोटे और बेंचमार्क तत्वों से बड़े सब्सट्रेट को क्रमबद्ध करता है। क्रमबद्ध प्रभाव: 7 सामान्यतः प्रयुक्त सॉर्टिंग एल्गोरिदम (सामान्यतः लेखन रणनीतियों के लिए प्रयुक्त) का दृश्यात्मक सहज अनुभव

  • ### 2. वर्गीकरण

कहानी: मर्ज सॉर्ट (Merge sort) एक प्रभावी सॉर्टिंग एल्गोरिथ्म है जो मर्ज ऑपरेशन पर आधारित है। यह एल्गोरिथ्म विभाजन और विजय (Divide and Conquer) का एक विशिष्ट अनुप्रयोग है। कदम: अनुरोध स्थान, जिसे दो क्रमबद्ध अनुक्रमों के योग के रूप में आकार दिया जाता है, जो विलय के बाद अनुक्रमों को संग्रहीत करने के लिए उपयोग किया जाता है दो पॉइंटर सेट करें, प्रारंभिक स्थान दो क्रमबद्ध अनुक्रमों के लिए प्रारंभिक स्थान है दो पॉइंटरों द्वारा निर्देशित तत्वों की तुलना करें, एक छोटे से तत्व को संयोजन अंतरिक्ष में डालें और पॉइंटर को अगले स्थान पर ले जाएं चरण 3 को दोहराएं जब तक कि एक पॉइंटर अनुक्रम के अंत तक नहीं पहुंच जाता है दूसरे अनुक्रम के सभी शेष तत्वों को सीधे संयोजन अनुक्रम के अंत में कॉपी करें क्रमबद्ध प्रभाव: 7 सामान्यतः प्रयुक्त सॉर्टिंग एल्गोरिदम (सामान्यतः लेखन रणनीतियों के लिए प्रयुक्त) का दृश्यात्मक सहज अनुभव

  • ### 3. स्टैक क्रमबद्ध करें

कहानी: ढेर सॉर्ट () एक सॉर्टिंग एल्गोरिथ्म है जो ढेर की इस प्रकार की डेटा संरचना का उपयोग करके डिज़ाइन किया गया है। ढेर एक पूर्ण द्विपद पेड़ की संरचना है, और साथ ही ढेर की संपत्ति को पूरा करता है, अर्थात्, एक उप-नोड का कुंजी मान या सूचकांक हमेशा इसके मूल नोड से छोटा (या बड़ा) होता है। कदम: (यह जटिल है, आप इसे ऑनलाइन देख सकते हैं) क्रमबद्ध प्रभाव: 7 सामान्यतः प्रयुक्त सॉर्टिंग एल्गोरिदम (सामान्यतः लेखन रणनीतियों के लिए प्रयुक्त) का दृश्यात्मक सहज अनुभव

  • ### 4. क्रम का चयन करें

कहानी: Selection sort एक सरल और सहज क्रमबद्ध एल्गोरिथ्म है। यह इस प्रकार काम करता हैः सबसे पहले, सबसे छोटा तत्व खोजें, जो कि क्रमबद्ध नहीं किया गया है, और इसे क्रमबद्ध क्रम के शुरुआती स्थान पर संग्रहीत करें। फिर, सबसे छोटा तत्व खोजें, जो कि क्रमबद्ध नहीं किया गया है, और इसे क्रमबद्ध क्रम के अंत में रखें। और जब तक सभी तत्वों को क्रमबद्ध नहीं किया जाता है तब तक ऐसा ही करें। क्रमबद्ध प्रभाव: 7 सामान्यतः प्रयुक्त सॉर्टिंग एल्गोरिदम (सामान्यतः लेखन रणनीतियों के लिए प्रयुक्त) का दृश्यात्मक सहज अनुभव

  • ### 5. बुलबुला क्रम

कहानी: बुलबुला सॉर्ट एक सरल सॉर्टिंग एल्गोरिथ्म है। यह बार-बार क्रमबद्ध करने के लिए संख्याओं का दौरा करता है, एक बार में दो तत्वों की तुलना करता है, और यदि उनका क्रम गलत है, तो उन्हें आदान-प्रदान कर देता है। कॉलम का दौरा करने का काम बार-बार किया जाता है जब तक कि आदान-प्रदान की आवश्यकता नहीं होती है, यानी यह क्रमबद्ध किया गया है। एल्गोरिथ्म का नाम इसलिए है क्योंकि छोटे तत्व धीरे-धीरे आदान-प्रदान के माध्यम से सरणी के शीर्ष पर आते हैं। कदम: समीपवर्ती तत्वों की तुलना करना यदि पहला दूसरे से बड़ा है, तो उन दोनों का आदान-प्रदान करना प्रत्येक जोड़ी के साथ एक ही काम करें, पहले जोड़े से लेकर अंतिम जोड़े तक। इस बिंदु पर, अंतिम तत्व सबसे बड़ा होना चाहिए। सभी तत्वों के लिए उपरोक्त चरणों को दोहराएं, सिवाय अंतिम एक के ऊपर दिए गए चरणों को कम से कम तत्वों के लिए दोहराएं, जब तक कि किसी भी संख्या की तुलना की आवश्यकता न हो। क्रमबद्ध प्रभाव: 7 सामान्यतः प्रयुक्त सॉर्टिंग एल्गोरिदम (सामान्यतः लेखन रणनीतियों के लिए प्रयुक्त) का दृश्यात्मक सहज अनुभव

  • ### 6. सम्मिलित करें

कहानी: सम्मिलित क्रमबद्धता (इन्सर्ट सॉर्ट) एक सरल और सहज क्रमबद्धता एल्गोरिथ्म है। इसका कार्य यह है कि यह एक क्रमबद्ध क्रमबद्धता का निर्माण करता है, जो क्रमबद्ध डेटा के लिए, क्रमबद्ध क्रम में पीछे से आगे की ओर स्कैन करता है, उचित स्थान ढूंढता है और सम्मिलित करता है। सम्मिलित क्रमबद्धता को लागू करने के लिए, आमतौर पर इन-प्लेस सॉर्टिंग का उपयोग किया जाता है (अर्थात, केवल O (1) के अतिरिक्त स्थान का उपयोग करना) । इसलिए, पीछे से आगे की ओर स्कैन करने के दौरान, क्रमबद्ध तत्वों को बार-बार पीछे की ओर स्थानांतरित करने की आवश्यकता होती है, ताकि नए तत्वों के लिए सम्मिलित स्थान उपलब्ध हो सके। कदम: पहले तत्व से शुरू, यह तत्व माना जा सकता है क्रमबद्ध किया गया है एक तत्व को बाहर निकालें और पहले से ही क्रमबद्ध तत्वों के अनुक्रम में आगे और पीछे स्कैन करें यदि तत्व (क्रमबद्ध) नए तत्व से बड़ा है, तो तत्व को अगले स्थान पर ले जाएं चरण 3 को तब तक दोहराएं जब तक कि क्रमबद्ध तत्व नए तत्व से कम या बराबर न हो जाए नए तत्वों को इस स्थान में सम्मिलित करें चरण 2 दोहराएँ क्रमबद्ध प्रभाव: (अभी तक नहीं)

  • ### 7. हिल क्रम

कहानी: हिल सॉर्टिंग, जिसे घटाव-वृद्धि सॉर्टिंग एल्गोरिथ्म के रूप में भी जाना जाता है, एक उच्च-गति और स्थिर सुधार संस्करण है जो सम्मिलित सॉर्टिंग है। हिल सॉर्टिंग को इन दो गुणों के आधार पर सुधारित किया गया हैः 1. सम्मिलित क्रमबद्धता लगभग क्रमबद्ध डेटा के साथ काम करने में उच्च दक्षता है, यानी रैखिक क्रमबद्धता की दक्षता 2. लेकिन सम्मिलित क्रम सामान्य रूप से कम कुशल है, क्योंकि सम्मिलित क्रम केवल डेटा को एक बार स्थानांतरित कर सकता है 7 सामान्यतः प्रयुक्त सॉर्टिंग एल्गोरिदम (सामान्यतः लेखन रणनीतियों के लिए प्रयुक्त) का दृश्यात्मक सहज अनुभव

मैं सबसे ज्यादा इस्तेमाल करने वाला फोम बनाने का तरीका (सबसे आसान), क्या आप?