bubble sort java java sorting algorithms code examples
यह ट्यूटोरियल मेजर जावा सॉर्टिंग एल्गोरिथम, बबल सॉर्ट कार्यान्वयन और कोड उदाहरणों के साथ-साथ जावा में बबल सॉर्ट को समझाएगा:
एक सॉर्टिंग एल्गोरिथ्म को एक एल्गोरिदम या एक विशिष्ट क्रम में एक संग्रह के तत्वों को डालने की प्रक्रिया के रूप में परिभाषित किया जा सकता है। उदाहरण के लिए, यदि आपके पास पूर्णांकों के ArrayList की तरह एक संख्यात्मक संग्रह है, तो आप ArrayList के तत्वों को आरोही या अवरोही क्रम में व्यवस्थित करना चाह सकते हैं।
इसी तरह, आप एक स्ट्रिंग संग्रह के तार को वर्णानुक्रम या लेक्सोग्राफ़िक क्रम में व्यवस्थित करना चाह सकते हैं। यह वह जगह है जहाँ जावा में छँटाई एल्गोरिदम तस्वीर में आते हैं।
सिस्को में नेटवर्क इंजीनियर साक्षात्कार प्रश्न और उत्तर
आप क्या सीखेंगे:
जावा में मेजर सॉर्टिंग एल्गोरिदम
सॉर्टिंग एल्गोरिदम का मूल्यांकन आमतौर पर समय और स्थान की जटिलताओं के आधार पर किया जाता है। जावा विभिन्न सॉर्टिंग एल्गोरिदम का समर्थन करता है जो संग्रह या डेटा संरचनाओं को सॉर्ट करने या व्यवस्थित करने के लिए उपयोग किया जाता है।
नीचे दी गई तालिका जावा में समर्थित प्रमुख छंटाई एल्गोरिदम को उनके सबसे अच्छे / सबसे खराब स्थिति के साथ दिखाती है।
समय की जटिलता | ||||
---|---|---|---|---|
मूलांक सॉर्ट करें | रैखिक छँटाई एल्गोरिथ्म। | O (nk) | O (nk) | O (nk) |
छँटाई एल्गोरिथ्म | विवरण | सबसे अच्छा मामला | सबसे खराब मामला | औसत मामला |
बुलबुले की तरह | वर्तमान तत्व की तुलना आसन्न तत्वों से बार-बार करता है। प्रत्येक पुनरावृत्ति के अंत में, सबसे भारी तत्व अपने उचित स्थान पर बुदबुदा जाता है। | पर) | O (n ^ 2) | O (n ^ 2) |
सम्मिलन सॉर्ट | संग्रह के प्रत्येक तत्व को उसके उचित स्थान पर सम्मिलित करता है। | पर) | O (n ^ 2) | O (n ^ 2) |
मर्ज़ सॉर्ट | यह फूट डालो और जीतो दृष्टिकोण का अनुसरण करता है। संग्रह को सरल उप-संग्रह में विभाजित करता है, उन्हें सॉर्ट करता है और फिर सब कुछ विलय कर देता है | O (nlogn) | O (nlogn) | O (nlogn) |
जल्दी से सुलझाएं | सबसे कुशल और अनुकूलित छँटाई तकनीक। संग्रह को विभाजित करने के लिए विभाजित और जीत का उपयोग करता है। | O (nlogn) | O (n ^ 2) | O (nlogn) |
चयन छांटना | संग्रह में सबसे छोटे तत्व को ढूँढता है और इसे हर पुनरावृत्ति के अंत में उचित स्थान पर रखता है | ओ (एन ^ 2) | ओ (एन ^ 2) | ओ (एन ^ 2) |
ढेर बनाएं और छांटें | तत्वों का निर्माण न्यूनतम ढेर या अधिकतम ढेर के आधार पर किया जाता है। | O (nlogn) | O (nlogn) | O (nlogn) |
उपरोक्त तालिका में दी गई छंटाई तकनीकों के अलावा, जावा निम्नलिखित छँटाई तकनीकों का भी समर्थन करता है:
- बकेट सॉर्ट
- मतगणना क्रमबद्ध करें
- शेल सॉर्ट
- कंघी क्रमबद्ध करें
लेकिन इन तकनीकों का उपयोग व्यावहारिक अनुप्रयोगों में संयम से किया जाता है, इस प्रकार ये तकनीकें इस श्रृंखला का हिस्सा नहीं होंगी।
आइए जावा में बबल सॉर्ट तकनीक पर चर्चा करें।
बबल सॉर्ट इन जावा
बबल सॉर्ट जावा में सभी सॉर्टिंग तकनीकों में से सबसे सरल है। यह तकनीक दो आसन्न तत्वों की बार-बार तुलना करके और वांछित क्रम में न होने पर उनकी अदला-बदली करके संग्रह को क्रमबद्ध करती है। इस प्रकार, पुनरावृत्ति के अंत में, सबसे भारी तत्व अपनी सही स्थिति का दावा करने के लिए लड़खड़ा जाता है।
यदि A (0), A (1), A (2), A (()),… .A (n-1) द्वारा दी गई सूची A में n तत्व हैं, तो A (1) की तुलना A (1) से की जाती है। ), A (1) की तुलना A (2) इत्यादि से की जाती है। तुलना करने के बाद यदि पहला तत्व दूसरे से अधिक है, तो क्रम में नहीं होने पर दो तत्वों की अदला-बदली की जाती है।
बबल सॉर्ट एल्गोरिथम
बबल सॉर्ट तकनीक के लिए सामान्य एल्गोरिदम नीचे दिया गया है:
चरण 1: I = 0 से N-1 के लिए चरण 2 दोहराएं
चरण 2: जे = आई + 1 से एन के लिए - मैं दोहराता हूं
चरण 3: अगर A (J)> A (i)
स्वैप ए (जे) और ए (आई)
(लूप के लिए इनर का अंत)
(अंत अगर पाश के लिए बाहरी)
चरण 4: बाहर जाएं
अब एक उदाहरण के रूप में बबल सॉर्ट तकनीक का प्रदर्शन करते हैं।
हम आकार 5 की एक सरणी लेते हैं और बुलबुला सॉर्ट एल्गोरिथ्म का वर्णन करते हैं।
बबल सॉर्ट का उपयोग करके एक ऐरे को सॉर्ट करें
निम्नलिखित सूची को क्रमबद्ध किया जाना है।
सॉफ्टवेयर परीक्षण 2 साल के अनुभव के नमूने फिर से शुरू
जैसा कि आप ऊपर देख सकते हैं, सरणी पूरी तरह से सॉर्ट की गई है।
उपरोक्त चित्र को सारणीबद्ध रूप में संक्षेप में प्रस्तुत किया जा सकता है:
उत्तीर्ण करना | अनारक्षित सूची | तुलना | क्रमबद्ध सूची |
---|---|---|---|
{3,6,11,4,15} | {11.4} | {3,6,4,11,15} | |
1 | {11, 3, 6,15,4} | {11.3} | {3,11,6,15,4} |
{3,11,6,15,4} | {11.6} | {3,6,11,15,4} | |
{3,6,11,15,4} | {11.15} | {3,6,11,15,4} | |
{3,6,11,15,4} | {15.4} | {3,6,11,4,15} | |
दो | {3,6,11,4,15} | {3,6} | {3,6,11,4,15} |
{3,6,11,4,15} | {6.11} | {3,6,11,4,15} | |
३ | {3,6,4,11,15} | {3,6} | {3,6,4,11,15} |
{3,6,4,11,15} | {6.4} | {3,4,6,11,15} | |
{3,4,6,11,15} | हल |
जैसा कि उपरोक्त उदाहरण में दिखाया गया है, सबसे बड़ा तत्व हर पुनरावृत्ति / पास के साथ अपनी उचित स्थिति तक बुलबुले बनाता है। सामान्य तौर पर, जब हम एन -1 (जहां एन सूची में तत्वों की कुल संख्या है) तक पहुंचते हैं; हमारे पास पूरी सूची होगी।
बबल सॉर्ट कोड उदाहरण
नीचे दिए गए कार्यक्रम में बबल सॉर्ट एल्गोरिथ्म का जावा कार्यान्वयन दिखाया गया है। यहाँ, हम संख्याओं की एक सरणी बनाए रखते हैं और सरणी के आसन्न तत्वों के माध्यम से पार करने के लिए दो छोरों का उपयोग करते हैं। यदि दो आसन्न तत्व क्रम में नहीं हैं, तो उन्हें स्वैप किया जाता है।
import java.util.*; class Main{ // Driver method to test above public static void main(String args()) { //declare an array of integers int intArray() = {23,43,13,65,11,62,76,83,9,71,84,34,96,80}; //print original array System.out.println('Original array: ' + Arrays.toString(intArray)); int n = intArray.length; //iterate over the array comparing adjacent elements for (int i = 0; i intArray(j+1)) { int temp = intArray(j); intArray(j) = intArray(j+1); intArray(j+1) = temp; } //print the sorted array System.out.println('Sorted array: ' + Arrays.toString(intArray)); } }
आउटपुट:
मूल सरणी: (23, 43, 13, 65, 11, 62, 76, 83, 9, 71, 84, 34, 96, 80)
क्रमबद्ध सरणी: (9, 11, 13, 23, 34, 43, 62, 65, 71, 76, 80, 83, 84,954)।
बार बार पूछे जाने वाले प्रश्न
Q # 1) जावा में सॉर्टिंग एल्गोरिदम क्या हैं?
उत्तर: सॉर्टिंग एल्गोरिथ्म को एक एल्गोरिथ्म या प्रक्रिया के रूप में परिभाषित किया जा सकता है जिसके उपयोग से संग्रह में तत्वों को वांछित फैशन में ऑर्डर या व्यवस्थित किया जा सकता है।
नीचे दिए गए कुछ छंटाई एल्गोरिदम जावा में समर्थित हैं:
- बुलबुले की तरह
- सम्मिलन सॉर्ट
- चयन छांटना
- मर्ज़ सॉर्ट
- जल्दी से सुलझाएं
- मूलांक छाँटे
- ढेर बनाएं और छांटें
क्यू # 2) जावा में सबसे अच्छा सॉर्टिंग एल्गोरिथम क्या है?
उत्तर: मर्ज सॉर्ट जावा में सबसे तेज छांटने वाला एल्गोरिदम माना जाता है। वास्तव में, Java 7 ने Collections.sort () पद्धति को लागू करने के लिए आंतरिक रूप से मर्ज प्रकार का उपयोग किया है। क्विक सॉर्ट भी एक और सबसे अच्छा सॉर्टिंग एल्गोरिदम है।
क्यू # 3) जावा में बबल सॉर्ट क्या है?
उत्तर: बबल सॉर्ट जावा में सबसे सरल एल्गोरिदम है। बबल सॉर्ट हमेशा सूची में दो आसन्न तत्वों की तुलना करता है और वांछित क्रम में नहीं होने पर उन्हें स्वैप कर देता है। इस प्रकार, प्रत्येक पुनरावृत्ति या पास के अंत में, सबसे भारी तत्व को उसके उचित स्थान पर बुदबुदाया जाता है।
क्यू # 4) बबल सॉर्ट एन क्यों हैदो?
उत्तर: बबल सॉर्ट को लागू करने के लिए, हम दो छोरों के लिए उपयोग करते हैं।
सबसे अच्छा एमपी 3 कनवर्टर क्या है
किए गए कुल कार्य को निम्न द्वारा मापा जाता है:
आंतरिक लूप द्वारा किए गए कार्य की मात्रा * बाहरी लूप की कुल संख्या।
N तत्वों की सूची के लिए, आंतरिक लूप प्रत्येक पुनरावृत्ति के लिए O (n) के लिए काम करता है। बाहरी लूप O (n) पुनरावृत्ति के लिए चलता है। इसलिए किया गया कुल कार्य O (n) * O (n) = O (n) हैदो)
क्यू # 15) बबल के प्रकार क्या हैं?
उत्तर: बबल सॉर्ट के लाभ इस प्रकार हैं:
- कोड और समझने में आसान।
- एल्गोरिथ्म को लागू करने के लिए कोड की कुछ लाइनें आवश्यक हैं।
- छँटाई को जगह में किया जाता है यानी अतिरिक्त मेमोरी की आवश्यकता नहीं होती है और इस प्रकार कोई मेमोरी ओवरहेड नहीं होती है।
- सॉर्ट किया गया डेटा तुरंत प्रसंस्करण के लिए उपलब्ध है।
निष्कर्ष
अब तक, हमने जावा में बबल सॉर्ट सॉर्टिंग एल्गोरिदम पर चर्चा की। हमने एल्गोरिथ्म का भी पता लगाया और बबल सॉर्ट तकनीक का उपयोग करके एक सरणी को छांटने का विस्तृत चित्रण किया। फिर हमने बबल सॉर्ट के लिए जावा प्रोग्राम लागू किया।
अगले ट्यूटोरियल में, हम जावा में अन्य छँटाई तकनीकों के साथ जारी रखेंगे।
=> यहाँ सभी जावा ट्यूटोरियल की जाँच करें।
अनुशंसित पाठ
- चयन सॉर्ट इन जावा - चयन सॉर्ट एल्गोरिथम और उदाहरण
- सम्मिलन सॉर्ट जावा में - प्रविष्टि सॉर्ट एल्गोरिथ्म और उदाहरण
- उदाहरणों के साथ C ++ में बबल सॉर्ट
- जावा में एक ऐरे को कैसे सॉर्ट करें - उदाहरणों के साथ ट्यूटोरियल
- जावा सरणी कोड कोड के साथ लंबाई ट्यूटोरियल
- MongoDB सॉर्ट () उदाहरण के साथ विधि
- सिंटैक्स, विकल्प और उदाहरण के साथ यूनिक्स सॉर्ट कमांड
- जावा 'यह' कीवर्ड: कोड उदाहरण के साथ ट्यूटोरियल