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

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


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

समस्या कथन - हमें एक सॉर्ट की गई सूची दी जाएगी और हमें बाइनरी सर्च की मदद से एक तत्व ढूंढना होगा।

एल्गोरिदम

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

  • यदि x मध्य तत्व से मेल खाता है, तो हम मध्य इंडेक्स वापस करते हैं।

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

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

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

उदाहरण

def binarySearchAppr(arr, start, end, x):
# शर्त जांचें
if end >= start:
mid = start + (end - start)//2
# यदि तत्व मध्य में मौजूद है
if arr[mid] == x:
return mid
# यदि तत्व मध्य से छोटा है
elif arr[mid] > x:
return binarySearchAppr(arr, start, mid-1, x)
# अन्यथा तत्व मध्य से बड़ा है
else:
return binarySearchAppr(arr, mid+1, end, x)
else:
# तत्व सरणी में नहीं मिला
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):
# शर्त जांचें
if end >= start:
mid = start + (end - start)//2
# यदि तत्व मध्य में मौजूद है
if arr[mid] == x:
return mid
# यदि तत्व मध्य से छोटा है
elif arr[mid] > x:
return binarySearchAppr(arr, start, mid-1, x)
# अन्यथा तत्व मध्य से बड़ा है
else:
return binarySearchAppr(arr, mid+1, end, x)
else:
# तत्व सरणी में नहीं मिला
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 में लीनियर सर्च और इसके कार्यान्वयन के बारे में सीखेंगे। या इससे पहले। एल्गोरिदम दिए गए arr[] के बाएंmost एलिमेंट से शुरू करें और एक-एक करके एलिमेंट x की तुलना arr[] के प्रत्येक एलिमेंट से करें। यदि x किसी एलिमेंट से मेल खाता है, तो इंडेक्स वैल्यू वापस करें। यदि x, arr[]

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

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

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

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