समस्या
सी भाषा में छँटाई करने से खोज आसान क्यों हो जाती है? आप C में छँटाई दक्षता का आकलन कैसे कर सकते हैं?
समाधान
छँटाई तत्वों को आरोही (या) अवरोही क्रम में व्यवस्थित करने की प्रक्रिया है।
-
छँटाई शब्द तब अस्तित्व में आया जब मनुष्यों को शीघ्रता से खोज करने के महत्व का एहसास हुआ।
-
जीवन में अलग-अलग चीजें हैं जिन्हें हमें खोजने की जरूरत है, डेटाबेस में विशेष रिकॉर्ड, सूची में रोल नंबर, टेलीफोन निर्देशिका में एक नंबर, एक किताब में एक विशिष्ट पृष्ठ आदि।
-
यदि डेटा को एक अनियंत्रित और क्रमबद्ध रूप में रखा गया था, तो किसी विशेष चीज़ को खोजना मुश्किल हो जाता है। लेकिन सौभाग्य से, छँटाई की अवधारणा अस्तित्व में आई, जिससे सभी के लिए डेटा को एक क्रम में व्यवस्थित करना आसान हो गया।
-
सॉर्ट करना डेटा को एक क्रम में व्यवस्थित करता है जिससे खोज करना आसान हो जाता है।
क्रमबद्ध करने की क्षमता
-
यदि हम ताश के पत्तों का एक डेक व्यवस्थित करना चाहते हैं, तो हम प्रत्येक कार्ड की जाँच करके शुरू करेंगे, और उसी के अनुसार, जैसे-जैसे हम आगे बढ़ते हैं, डेक बनाते हैं।
-
डेक को व्यवस्थित करने में इतना समय लगता है, फिर भी हम इसे उसी तरह से करते हैं। लेकिन, कंप्यूटर इस तरह काम नहीं करते।
-
प्रोग्रामिंग युग की शुरुआत से, वैज्ञानिक डेटा को सॉर्ट करने के लिए अलग-अलग एल्गोरिदम द्वारा सॉर्ट करने की समस्या को हल करने पर काम कर रहे हैं।
यह निर्धारित करने का मानदंड है कि कौन सा एल्गोरिथम दूसरे से बेहतर है -
- दिए गए डेटा को सॉर्ट करने में लगने वाला समय।
- ऐसा करने के लिए मेमोरी स्पेस की आवश्यकता है।
उदाहरण
डेटा सॉर्ट करने के लिए सी प्रोग्राम निम्नलिखित है -
#include<stdio.h> int main(){ int a[50], i,j,n,t,sm; printf("enter the No: of elements in the list:\n"); scanf("%d", &n); printf("enter the elements:\n"); for(i=0; i<n; i++){ scanf ("%d", &a[i]); } for (i=0; i<n-1; i++){ sm=i; for (j=i+1; j<n; j++){ if (a[j] < a[sm]){ sm=j; } } t=a[i]; a[i]=a[sm]; a[sm]=t; } printf ("after selection sorting the elements are:\n"); for (i=0; i<n; i++) printf("%d\t", a[i]); return 0; }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
आउटपुट
enter the No: of elements in the list: 4 enter the elements: 34 12 56 7 after selection sorting the elements are: 7 12 34 56