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

रिकर्सन के साथ बाइनरी सर्च लागू करने के लिए Python प्रोग्राम


जब रिकर्सन का उपयोग करके बाइनरी सर्च लागू करने की आवश्यकता होती है, तो एक मेथड परिभाषित किया जा सकता है, जो जांचता है कि इंडेक्स 'high' इंडेक्स 'low' से बड़ा है या नहीं। 'mid' वेरिएबल में मौजूद वैल्यू के आधार पर, फ़ंक्शन को फिर से एलिमेंट खोजने के लिए कॉल किया जाता है।

एक लिस्ट का उपयोग विषम मानों को स्टोर करने के लिए किया जा सकता है (यानी पूर्णांक, फ्लोटिंग पॉइंट, स्ट्रिंग्स जैसे किसी भी डेटा टाइप का डेटा)।

इसके लिए एक प्रदर्शन नीचे दिया गया है:

उदाहरण

def binary_search(my_list, low, high, elem):
    if high >= low:
        mid = (high + low) // 2
        if my_list[mid] == elem:
            return mid
        elif my_list[mid] > elem:
            return binary_search(my_list, low, mid - 1, elem)
        else:
            return binary_search(my_list, mid + 1, high, elem)
    else:
        return -1

my_list = [1, 9, 11, 21, 34, 54, 67, 90]
elem_to_search = 1
print("The list is")
print(my_list)
my_result = binary_search(my_list, 0, len(my_list) - 1, elem_to_search)
if my_result != -1:
    print("Element found at index ", str(my_result))
else:
    print("Element not found!")

आउटपुट

The list is [1, 9, 11, 21, 34, 54, 67, 90]
Element found at index 0

व्याख्या

  • 'binary_search' नामक एक फ़ंक्शन परिभाषित किया गया है।
  • यह लिस्ट, 'low' वेरिएबल, 'high' वेरिएबल और खोजे जाने वाले एलिमेंट को पैरामीटर के रूप में लेता है।
  • फिर, 'mid' वेरिएबल को 'high' और 'low' वेरिएबल्स के औसत के रूप में असाइन किया जाता है।
  • यदि 'mid' पर एलिमेंट उस एलिमेंट के समान है जिसे खोजने की आवश्यकता है, तो इसे लौटाया जाता है।
  • अन्यथा, यदि 'mid' पोजीशन पर एलिमेंट खोजे जाने वाले एलिमेंट से बड़ा है, तो फ़ंक्शन को पैरामीटर्स का एक अलग सेट पास करके फिर से कॉल किया जाता है।
  • अन्यथा यदि 'mid' पोजीशन पर एलिमेंट खोजे जाने वाले एलिमेंट से छोटा है, तो फ़ंक्शन को पैरामीटर्स के एक अलग सेट को पास करके फिर से कॉल किया जाता है।
  • अब लिस्ट परिभाषित की जाती है, और इस लिस्ट को पैरामीटर के रूप में पास करके फ़ंक्शन को कॉल किया जाता है।
  • इस ऑपरेशन का डेटा एक वेरिएबल में स्टोर किया जाता है।
  • यह वेरिएबल आउटपुट है जो कंसोल पर प्रदर्शित होता है।
  1. पायथन में 0 से n मानों के साथ बनने वाले अद्वितीय बाइनरी सर्च ट्री की संख्या गिनने का प्रोग्राम पायथन में 0 से n मानों के साथ बनने वाले अद्वितीय बाइनरी सर्च ट्री की संख्या गिनने का प्रोग्राम

    मान लीजिए हमारे पास एक संख्या n है, हमें उन अद्वितीय BST की संख्या ढूंढनी है जिन्हें हम [0, n) से संख्याओं के साथ उत्पन्न कर सकते हैं। यदि उत्तर बहुत बड़ा है तो परिणाम को 10^9+7 से मॉड करें। उदाहरण के लिए, यदि इनपुट n = 3 है, तो आउटपुट 5 होगा। इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे: num

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

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

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

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