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

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

इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे।

समस्या कथन − हमें एक क्रमबद्ध सूची दी जाएगी और हमें एक द्विआधारी खोज की मदद से एक तत्व खोजने की जरूरत है।

एल्गोरिदम

  • x की तुलना मध्य तत्व से करें।

  • यदि x मध्य तत्व से मेल खाता है, तो हम मध्य सूचकांक लौटाते हैं।

  • अन्यथा यदि x मध्य तत्व से बड़ा है, तो x मध्य तत्व के बाद केवल दाहिने आधे उप-सरणी में स्थित हो सकता है। इसलिए हम दाहिने आधे भाग की पुनरावृत्ति करते हैं।

  • अन्यथा (x छोटा है) बाएं आधे हिस्से के लिए पुनरावृत्ति करें

पुनरावर्ती एल्गोरिदम

उदाहरण

def binarySearchAppr (arr, start, end, x):
# check condition
if end >= start:
   mid = start + (end- start)//2
   # If element is present at the middle
   if arr[mid] == x:
      return mid
   # If element is smaller than mid
   elif arr[mid] > x:
      return binarySearchAppr(arr, start, mid-1, x)
   # Else the element greator than mid
   else:
      return binarySearchAppr(arr, mid+1, end, x)
   else:
   # Element is not found in the array
      return -1
arr = sorted(['t','u','t','o','r','i','a','l'])
x ='r'
result = binarySearchAppr(arr, 0, len(arr)-1, x)
if result != -1:
   print ("Element is present at index "+str(result))
else:
print ("Element is not present in array")

इटरेटिव एल्गोरिथम

उदाहरण

def binarySearchAppr (arr, start, end, x):
# check condition
   if end >= start:
      mid = start + (end- start)//2
      # If element is present at the middle
      if arr[mid] == x:
      return mid
      # If element is smaller than mid
      elif arr[mid] > x:
      return binarySearchAppr(arr, start, mid-1, x)
      # Else the element greator than mid
      else:
      return binarySearchAppr(arr, mid+1, end, x)
   else:
      # Element is not found in the array
      return -1
arr = sorted(['t','u','t','o','r','i','a','l'])
   x ='r'
   result = binarySearchAppr(arr, 0, len(arr)-1, x)
if result != -1:
   print ("Element is present at index "+str(result))
else:
   print ("Element is not present in array")
Element is present at index 4

निष्कर्ष

इस लेख में, हमने बाइनरी सर्च को लागू करने के तरीके के बारे में सीखा।


  1. पायथन प्रोग्राम में रैखिक खोज

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

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

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

  1. रैखिक खोज के लिए पायथन कार्यक्रम

    इस लेख में, हम लीनियर सर्च और पायथन 3.x में इसके कार्यान्वयन के बारे में जानेंगे। या पहले। एल्गोरिदम Start from the leftmost element of given arr[] and one by one compare element x with each element of arr[] If x matches with any of the element, return the index value. If x doesn’t match with