बकेट सॉर्टिंग तकनीक में, डेटा आइटम बकेट के एक सेट में वितरित किए जाते हैं। प्रत्येक बकेट एक समान प्रकार का डेटा रख सकता है। वितरण के बाद, प्रत्येक बाल्टी को दूसरे सॉर्टिंग एल्गोरिदम का उपयोग करके सॉर्ट किया जाता है। उसके बाद, सॉर्ट किए गए फॉर्म को प्राप्त करने के लिए सभी तत्वों को मुख्य सूची में इकट्ठा किया जाता है।
बकेट सॉर्ट तकनीक की जटिलता
-
समय जटिलता:सर्वोत्तम मामले और औसत मामले के लिए ओ (एन + के) और सबसे खराब मामले के लिए ओ (एन ^ 2)।
-
अंतरिक्ष जटिलता:सबसे खराब स्थिति के लिए ओ (एनके)
इनपुट और आउटपुट
इनपुट:बिना क्रमबद्ध डेटा की सूची:0.25 0.36 0.58 0.41 0.29 0.22 0.45 0.79 0.01 0.69छँटाई से पहले सरणी:0.25 0.36 0.58 0.41 0.29 0.22 0.45 0.79 0.01 0.69 आउटपुट:सॉर्टिंग के बाद सरणी:0.01 0.22 0.25 0.29 0.36 0.41 0.45 0.58 0.69 0.79
एल्गोरिदम
bucketSort(सरणी, आकार)
इनपुट - डेटा की एक सरणी, और सरणी में कुल संख्या
आउटपुट - क्रमबद्ध सरणी
i के लिए शुरू करें:=0 से आकार -1 में सरणी डालें [i] बाल्टी इंडेक्स (आकार * सरणी [i]) में i:=0 से आकार -1 तक सॉर्ट करें बाल्टी [i] मैं के लिए किया गया :=0 से आकार -1 तक बाल्टी के आइटम इकट्ठा करें [i] और सरणी में डाल दें किया हुआअंत
उदाहरण
#शामिल करें#शामिल करें [मैं] <<""; cout < बाल्टी [आकार]; for(int i =0; i > एन; फ्लोट गिरफ्तारी [एन]; // दिए गए तत्वों की संख्या के साथ एक सरणी बनाएं cout <<"तत्व दर्ज करें:" < > arr[i]; } cout <<"छँटाई से पहले सरणी:"; प्रदर्शन (गिरफ्तारी, एन); बकेटसॉर्ट (गिरफ्तारी, एन); cout <<"सॉर्ट करने के बाद सरणी:"; प्रदर्शन (गिरफ्तारी, एन);}