Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में लीनियर सर्च के लिए प्रोग्राम लिखें

लीनियर सर्च एक सर्चिंग तकनीक है जिसका उपयोग ऐरे से किसी विशेष वैल्यू को सर्च करने के लिए किया जाता है। यह सबसे सरल सर्चिंग तकनीक है।

इस सर्चिंग तकनीक में,

  • सर्च की जाने वाली वैल्यू की तुलना ऐरे के सभी एलिमेंट्स के साथ की जाती है।

  • यदि वैल्यू मिल जाती है, तो एलिमेंट का इंडेक्स वापस किया जाता है।

  • यदि विशेष एलिमेंट पूरे ऐरे में मौजूद नहीं है, तो -1 या कोई प्रासंगिक स्ट्रिंग मैसेज वापस करें।

स्यूडोकोड

linearSearch(int array[], int value):
    for i = 0 to len(array):
        if array[i] == value:
            Element is Present
    // outside for loop
    Element Not Present // element not found in the whole array

उदाहरण

def linearSearch(arr, value):
    for i in range(len(arr)):
        if arr[i] == value:
            return i
    return -1

array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
value = 5
a = linearSearch(array, value)
if a == -1:
    print("Element not present")
else:
    print("Element present at index", a)

आउटपुट

Element present at index 4

टाइम कॉम्प्लेक्सिटी

लीनियर सर्च की सबसे खराब स्थिति की टाइम कॉम्प्लेक्सिटी O(n) है। सबसे खराब स्थिति तब होती है जब एलिमेंट ऐरे के अंतिम इंडेक्स पर मौजूद होता है या बिल्कुल मौजूद नहीं होता।

लीनियर सर्च की सर्वोत्तम स्थिति की टाइम कॉम्प्लेक्सिटी O(1) है। सर्वोत्तम स्थिति तब होती है जब एलिमेंट ऐरे के पहले इंडेक्स पर मौजूद होता है।

बेहतर लीनियर सर्च

लीनियर सर्च की सबसे खराब स्थिति की कॉम्प्लेक्सिटी को O(n/2) तक सुधारा जा सकता है। यह दो पॉइंटर्स, लेफ्ट और राइट का उपयोग करके और एक समय में दो तुलनाएं करके किया जा सकता है, जिससे लीनियर सर्च की सबसे खराब स्थिति की टाइम कॉम्प्लेक्सिटी O(n/2) तक कम हो जाती है।

उदाहरण

def linearSearch(arr, value):
    left = 0
    right = len(arr) - 1
    while left <= right:
        if arr[left] == value:
            return left
        elif arr[right] == value:
            return right
        left += 1
        right -= 1
    return -1

array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
value = 10
a = linearSearch(array, value)
if a == -1:
    print("Element not present")
else:
    print("Element present at index", a)

आउटपुट

Element present at index 9

उपरोक्त उदाहरण में, अंतिम इंडेक्स पर मौजूद एलिमेंट पहले इटरेशन में ही मिल जाता है। पहली विधि का उपयोग करके, इस एलिमेंट को ढूंढने में 10 इटरेशन्स लगते।

यदि एलिमेंट नहीं मिलता है, तो सबसे खराब स्थिति की कॉम्प्लेक्सिटी O(n/2) है, क्योंकि दूसरी विधि में कुल इटरेशन्स n/2 हैं।

लीनियर सर्च कितना उपयोगी है?

लीनियर सर्च का शायद ही कभी उपयोग किया जाता है क्योंकि बाइनरी सर्च जैसे बेहतर सर्चिंग एल्गोरिदम हैं जो बेहतर टाइम कॉम्प्लेक्सिटी प्रदान करते हैं। लीनियर सर्च बड़े इनपुट ऐरे के लिए कुशल नहीं है।

  1. पायथन प्रोग्राम में लीनियर सर्च पायथन प्रोग्राम में लीनियर सर्च

    इस लेख में, हम पायथन 3.x में लीनियर सर्च और इसके कार्यान्वयन के बारे में सीखेंगे। या इससे पहले। एल्गोरिदम दिए गए arr[] के बाएंmost एलिमेंट से शुरू करें और एक-एक करके एलिमेंट x की तुलना arr[] के प्रत्येक एलिमेंट से करें। यदि x किसी एलिमेंट से मेल खाता है, तो इंडेक्स वैल्यू वापस करें। यदि x, arr[]

  1. पायथन प्रोग्राम: बबल सॉर्ट एल्गोरिदम पायथन प्रोग्राम: बबल सॉर्ट एल्गोरिदम

    इस लेख में, हम बबल सॉर्ट सॉर्टिंग तकनीक के कार्यान्वयन के बारे में जानेंगे।नीचे दिखाई गई आकृति इस एल्गोरिदम के कार्य को दर्शाती है -दृष्टिकोणपहले तत्व (इंडेक्स = 0) से शुरू करके, वर्तमान तत्व की तुलना सरणी के अगले तत्व से करें।यदि वर्तमान तत्व सरणी के अगले तत्व से बड़ा है, तो उन्हें स्वैप करें।यदि व

  1. पायथन प्रोग्राम: लीनियर सर्च एल्गोरिदम पायथन प्रोग्राम: लीनियर सर्च एल्गोरिदम

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण में लीनियर सर्च और इसके कार्यान्वयन के बारे में जानेंगे।एल्गोरिदमदिए गए arr[] के बाएं सबसे तत्व से शुरू करें और एक-एक करके तत्व x की तुलना arr[] के प्रत्येक तत्व से करेंयदि x किसी तत्व से मेल खाता है, तो इंडेक्स मान वापस करें।यदि x, arr[] के किसी भी त