कंघी छँटाई और बबल छँटाई का मूल विचार समान है। दूसरे शब्दों में, कंघी छँटाई बबल प्रकार में सुधार है। बबल छँटाई तकनीक में, वस्तुओं की तुलना प्रत्येक चरण में अगले आइटम से की जाती है। लेकिन कंघी प्रकार के लिए, वस्तुओं को एक विशिष्ट अंतराल में क्रमबद्ध किया जाता है। प्रत्येक चरण को पूरा करने के बाद, अंतर कम हो जाता है। इस प्रकार का ह्रासमान कारक या सिकुड़न कारक 1.3 है। इसका मतलब है कि प्रत्येक चरण को पूरा करने के बाद अंतराल को 1.3 से विभाजित किया जाता है।
कंघी छँटाई तकनीक की जटिलता
- समय की जटिलता: ओ (एन लॉग एन) सर्वोत्तम मामले के लिए। औसत मामले के लिए O(n^2/2^p) (p वेतन वृद्धि की एक संख्या है) और सबसे खराब स्थिति के लिए O(n^2)।
- अंतरिक्ष जटिलता: ओ(1)
इनपुट और आउटपुट
इनपुट:क्रमबद्ध डेटा की एक सूची:108 96 23 74 12 56 85 42 13 47आउटपुट:क्रमबद्ध करने से पहले सरणी:108 96 23 74 12 56 85 42 13 47 क्रमबद्ध करने के बाद सरणी:12 13 23 42 47 56 74 85 96 108पूर्व>एल्गोरिदम
CombSort(सरणी, आकार)इनपुट - डेटा की एक सरणी, और सरणी में कुल संख्या
आउटपुट - क्रमबद्ध सरणी
शुरुआत अंतराल:=आकार ध्वज:=सच है जबकि अंतराल ≠ 1 या झंडा =सच है अंतराल =मंजिल (अंतराल/1.3) // विभाजन के बाद मंजिल मूल्य अगर अंतराल <1 तो अंतराल:=1 झंडा =झूठा i के लिए:=0 से आकार - गैप -1 करते हैं यदि सरणी [i]> सरणी [i + गैप] तो सरणी [i] को सरणी [i + गैप] ध्वज =सत्य के साथ स्वैप करें; किया हुआसमाप्तउदाहरण
#शामिल करें ""; cout <सरणी [i + गैप]) {स्वैप (सरणी [i], सरणी [i + गैप] ); झंडा =सच; } } }}इंट मेन () {इंट एन; cout <<"तत्वों की संख्या दर्ज करें:"; सिनेमा>> एन; इंट गिरफ्तारी [एन]; // दिए गए तत्वों की संख्या के साथ एक सरणी बनाएं cout <<"तत्व दर्ज करें:" < > arr[i]; } cout <<"छँटाई से पहले सरणी:"; प्रदर्शन (गिरफ्तारी, एन); CombSort (गिरफ्तारी, एन); cout <<"सॉर्ट करने के बाद सरणी:"; प्रदर्शन (गिरफ्तारी, एन);} आउटपुट
तत्वों की संख्या दर्ज करें:10तत्व दर्ज करें:108 96 23 74 12 56 85 42 13 47क्रमबद्ध करने से पहले सरणी:108 96 23 74 12 56 85 42 13 47क्रमबद्ध करने के बाद:12 13 23 42 47 56 74 85 96 108पूर्व>