इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे।
समस्या कथन - हमें एक सरणी दी गई है, हमें इसे बाइनरी इंसर्शन सॉर्ट की अवधारणा का उपयोग करके सॉर्ट करने की आवश्यकता है।
यहां जैसा कि नाम से पता चलता है, हम बाइनरी सर्च की अवधारणा का उपयोग सम्मिलन सॉर्ट एल्गोरिदम के साथ करते हैं।
आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें -
उदाहरण
# sort
def insertion_sort(arr):
for i in range(1, len(arr)):
temp = arr[i]
pos = binary_search(arr, temp, 0, i) + 1
for k in range(i, pos, -1):
arr[k] = arr[k - 1]
arr[pos] = temp
def binary_search(arr, key, start, end):
#key
if end - start <= 1:
if key < arr[start]:
return start - 1
else:
return start
mid = (start + end)//2
if arr[mid] < key:
return binary_search(arr, key, mid, end)
elif arr[mid] > key:
return binary_search(arr, key, start, mid)
else:
return mid
# main
arr = [1,5,3,4,8,6,3,4]
n = len(arr)
insertion_sort(arr)
print("Sorted array is:")
for i in range(n):
print(arr[i],end=" ") आउटपुट
Sorted array is : 1 3 3 4 4 5 5 6 8

सभी चर स्थानीय दायरे में घोषित किए गए हैं और उनके संदर्भ ऊपर की आकृति में देखे गए हैं।
निष्कर्ष
इस लेख में, हमने सीखा है कि हम बाइनरी इंसर्शन सॉर्ट के लिए पायथन प्रोग्राम कैसे बना सकते हैं