Searching and sorting || क्रमिक सर्च || बाइनरी सर्च || insertion sorting ||bubble sorting || selection sorting
सर्चिंग क्या है ?
Definition
Searching सर्चिंग- सर्चिंग का अर्थ होता है खोजना अर्थात किसी भी प्रकार के डाटा को सूची में से विशेष डाटा आइटम को खोजना सर्चिंग कहलाता है डेटाबेस सिस्टम में इस प्रक्रिया को विशेष महत्व है क्योंकि इस प्रक्रिया से हजारों लाखों रिकॉर्ड में से किसी एक रिकॉर्ड को खोजा जा सकता है . हमारे डेटाबेस में बहुत से रिकॉर्ड होते हैं लेकिन उन्हें रिकॉर्ड में से किसी एक रिकॉर्ड को चुनना बहुत ही कठिन होता है इसके लिए बहुत से विकल्प हैं .
किसी डाटा की सूची से किसी इच्छित अवयव को खोजना सर्चिंग कहलाता है .
सर्चिंग दो प्रकार के होते हैं
1 क्रमिक सर्च
2 बाइनरी सर्च
1 क्रमिक सर्च sequential search -
क्रमिक सर्च को linear method भी कहा जाता है इसमें डाटा एक क्रम से प्राप्त करते हैं क्रमिक सर्च में जिस तत्व को सर्च करना होता है उसकी तुलना अरे के प्रथम तत्व से की जाती है यदि दोनों तत्व बराबर होते हैं तो सर्चिंग वहीं से बंद हो जाती है यदि तत्व बराबर नहीं है तो उसकी तुलना अरे के दूसरे तत्व से की जाती है यह प्रक्रिया तब तक चलती है जब तक कि नंबर मैच नहीं हो जाते हैं |
example -
6 2 8 5 4 10 7 12
10
6 2 8 5 4 10 7 12
10
6 2 8 5 4 10 7 12
10
6 2 8 5 4 10 7 12
10
6 2 8 5 4 10 7 12
10
6 2 8 5 4 10 7 12
10
इस उदाहरण में सर्वप्रथम 10 की तुलना अरे के प्रथम तत्व 6 से करते हैं जो आसमान है अतः अब 10 की तुलना अरे दूसरे तत्व दो से की जाती है यह भी आसमान है तो अब तीसरा तत्व 8 से की जाती है यह भी तत्व आ समान है इस प्रकार यह प्रक्रिया तब तक चलती रहती है जब तक ऐसे 10 के साथ मैच ना कर जाए जिस स्थान पर यह मैच करता है वहीं पर सर्चिंग समाप्त हो जाती है |
उदाहरण - क्रमिक सर्च के लिए सी भाषा मे प्रोग्राम -
#include <stdio.h>
int main()
{
int array[100],search,c.n;
printf(''enter the number of element in array\n'');
scanf(''%d'',&n);
printf("enter%d integer(s)\n",n);
For(c=0;c<n;c++)
Scanf("%d",&array\[c];
Printf(enter the number to search\n");
Scanf("%d",&search);
For (c=0;c<n;c++)
{
If (array[c] ==search)
{
Printf("%d is present at location %d.\n",search,c+1);
Break;
}
}
If (c==n)
Printf("%d is not present in array.\n",search);
Return 0;
}
Out put
Enter the number of elements in array
5
Enter 5 number
5
6
4
2
9
Enter the number to search
6
6 is present at location 2
2 Binary search बाइनरी सर्च -
बाइनरी सर्च में अरे को सर्वप्रथम एसेंडिंग , डिसेंडिंग ऑर्डर में व्यवस्थित करते हैं . एसेंडिंग का अर्थ होता है बड़े से छोटे क्रम की ओर बढ़ना और डिसेंडिंग का अर्थ होता है बड़े से छोटे के क्रम की ओर बढ़ना . एसेंडिंग ऑर्डर में व्यवस्थित करने के बाद अरे को दो भागों में विभाजित किया जाता है यह विभाजन प्रक्रिया अरे के मध्य से प्रारंभ होती है यदि मध्य अवयव सर्च की शर्त को पूर्ण करता है तो सर्च समाप्त हो जाती है यदि मध्य सर्च वैल्यू से बड़ा है तो सर्च प्रक्रिया बाय तथा छोटे हैं तो दाएं में जारी रहता है .
जैसे - 12 अबे यह वाले ऐरे में 75 को खोजना
अवरोही क्रम में व्यवस्थित करने पर -
5 10 15 20 25 30 50 60 70 80 90 95
0 1 2 3 4 5 6 7 8 9 10 11
मध्य अवयव = low + high /2 = 0+11 = 11/2 = 5.5
अतः मध्य अवयव = 5 वाँ
5 10 15 20 25 30 50 60 75 80 90 95
0 1 2 3 4 5 6 ७ ८ 8 9 10
50 60 75 80 90 95
6 7 8 9 10 11
मध्य अवयव = low + high /2 = 6+11/2 = 17/2 = 8.5
उदाहरण - बाइनरी सर्च के लिए सी भाषा मे प्रोग्राम
#include<stdio.h>
Int main(){
Int a[10],i,n,m,c=0,1,u,mid;
Printf("enter the size of an array:");
Scanf("%d",&n);
Printf("enter the element in ascending order:");
For(i=0;i<n;i++){
Scanf("%d",&a[i]);
}
Printf("enter the number to be search:");
Scanf("%d",&m);
1=0 ,u=n-1;
While(1<=u){
Mid=(1+u)/2;
If(m==a[mid]){
C=0;
Break;
}
Else if (m<a[mid]){
U=mid-1;
}
else
1=mid+1;
}
If(c==0)
Printf ("the number is not found.");
Else
Printf("the number is found.");
Return 0;
}
Sample output:
Enter the size of an array :5
Enter the element in ascending order:4 7 8 11 21
Enter the number to be searching:11
The number is found .
Sorting -
संख्याओं को बढ़ते या घटते क्रम में करने की प्रक्रिया सॉर्टिंग कहलाती है शॉटिंग मुख्य 3 प्रकार की होती हैं
1 Insertion sorting
2 Bubble sorting
3 Selection sorting
1 insertion sorting -
इस सेटिंग में सबसे ऊपर स्थित अवयव की तुलना अरे की अन्य अवयवों से की जाती है यदि अवयव का मान ऊपर वाले अवयव से कम होता है तो वे एक दूसरे का स्थान बदल लेते हैं यह प्रक्रिया तब तक चलती रहती है जब तक कि पूर्ण डाटा आरोही क्रम में व्यवस्थित ना हो जाए .
insertion sorting |
Ex -इन्सर्शन सॉर्ट क लिए सी भाषा मे प्रोग्राम -
#include<stdio.h>
Int main(){
Int i,j,s, temp,a[20];
Printf("enter total elements:");
Scanf(%d",&s);
Printf("enter%d elements:",s);
For(i=0;i<s;i++)
Scanf("%d",&a[i]);
For(i=1;i<s;i++){
Temp=a[i];
J=i-1;
While((temp<a[j]&&(j>=0)){
a[j+1]=a[j];
j=j-1;
}
a[j+1]=temp;
}
Printf("after sorting:");
For(i=0;i<s;i++)
Printf("%d",a[i]);
Return 0;
}
Output:
Enter totl element :5
Enter 5 element : 3 7 9 0 2
After sorting : 02379
2 Bubble sorting -
इसमें पास पास स्थित दो अवयव की तुलना आपस में होती है कम मान वाले अभियोग की तुलना पास वाले अवयव से करते हैं और उनका स्थान आपस में बदल देते हैं यही प्रक्रिया अंत तक दोहराते रहते हैं जब तक की पूरी शार्ट होकर एक क्रम में व्यवस्थित ना हो जाए .
bubble sorting |
Ex - बबल सॉर्टिंग के इए सी भाषा मे प्रोग्राम
#include <stdio.h>
Int main (){
Int s, temp,i ,j,a[20];
Printf("enter total number of elements:");
Scanf("%d",&s);
Printf("enter%d elements:",s);
For(i=0;i<s;i++)
Scanf("%d",&a[i]);
For(i=s-2;i>=0;i––){
For(j=0;<=i;j++){
If(a[j]>a[j+1]){
Temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}}}
Printf("After sorting :");
For(i=0;i<s;i++
Printf("%d",a[i]);
Return 0 ;
}
Output :
Enter total number of elements : 5
Enter 5 elements :6 2 0 11 9
After sorting : 0 2 6 9 11
3 selection sorting -
इसमें सबसे कम आने वाले अभियोग की तुलना अरे के प्रथम अवयव से करते हैं तथा कमान वाले अवयवों को अरे में प्रथम स्थान पर ले आते हैं इसी प्रकार दोबारा फिर से अरे के कमान वाले अवयव की तुलना अरे के दूसरे मान से करते हैं तथा कमान वाले अवयव को ऐड के दूसरे स्थान पर ले आते हैं यह प्रक्रिया तब तक चलती है जब तक कि अरे व्यवस्थित ना हो जाए .
जैसे - 9 तत्वों वाली एरे मे निम्न डाटा संग्रहीत है |
40 30 50 80 10 20 60 15 18
selection sorting |
conclusion - मै आशा करता हु की इस लेख मे आपकी सभी समस्या का समाधान हो चुका होगा अगर अभी भी कोई समस्या हो तो कमेन्ट करे -
टिप्पणियाँ
एक टिप्पणी भेजें
any doubt . asking me