Searching in Data Structure:
Searching value की list में किसी दिए गए value की स्थिति searching की process है। यह तय करता है कि data में search key present है या नहीं। यह items के collection में किसी particular वस्तु की searching की algorithm process है।
Type of Searching:
- Linear Search or Sequential Search
- Binary Search
1. Linear Search or Sequential Search:
यह searching की सबसे simple method है। searching की इस technique में, पाए जाने वाले elements का search में पाया जाने वाला element क्रमिक रूप से list में search किया जाता है। यह विधि एक sorted या एक unsorted list पर की जा सकती है। starts की गई list के मामले में search 0 element से शुरू होती है और तब तक जारी रहती है जब तक कि element list से नहीं मिल जाता है या वह element जिसका value से अधिक है। मानकर list को ascending order में sorted किया जाता है। search किए जा रहे value पर पहुंच जाता है।
Algorithm for Linear search:
यह एक simple algorithm है जो एक list के अंदर एक specific item की खोज करता है। यह each element O (n) पर looping को operate करता है जब तक कि और जब तक कोई match नहीं होता है या array का अंत नहीं हो जाता है।
- algorithm Seqnl_Search(list, item)
- Pre: list != ;
- Post: return the index of the item if found, otherwise: 1
- index <- fi
- while index < list.Cnt and list[index] != item //cnt: counter variable
- index <- index + 1
- end while
- if index < list.Cnt and list[index] = item
- return index
- end if
- return: 1
- end Seqnl_Search
2. Binary Search:
Binary search एक बहुत fast और efficient searching technique है। इसके लिए list को sorted order में होना चाहिए। इस method में, किसी element को searching के लिए आप इसकी compare list के center में मौजूद element से कर सकते हैं। यदि यह match होता है, तो search successful है, otherwise list को two parts में divided किया गया है: एक 0 element से middle element जो center element (1st half) center element से दूसरा last element (2nd half) जहां सभी values center element से अधिक हैं।
search mechanism दो parts में से किसी एक से आगे बढ़ता है, यह इस बात पर depend करता है कि target element central element से अधिक है या छोटा है। यदि element central element से छोटा है, तो first half में search की जाती है, otherwise second half में search की जाती है।
Algorithm for Binary search:
- algorithm Binary_Search(list, item)
- Set L to 0 and R to n: 1
- if L > R, then Binary_Search terminates as unsuccessful
- else
- Set m (the position in the mid element) to the floor of (L + R) / 2
- if Am < T, set L to m + 1 and go to step 3
- if Am > T, set R to m: 1 and go to step 3
- Now, Am = T,
- the search is done; return (m)