इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे।
समस्या कथन
हमें एक सरणी दी गई है, हमें बाइनरी इन्सर्शन सॉर्ट की अवधारणा का उपयोग करके इसे क्रमबद्ध करना है।
यहां नाम के अनुसार, हम बाइनरी सर्च की अवधारणा का उपयोग इन्सर्शन सॉर्ट एल्गोरिदम के साथ करते हैं।
उदाहरण
# सॉर्ट
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):
# कुंजी
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
# मुख्य
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
निष्कर्ष
इस लेख में हमने बाइनरी इन्सर्शन सॉर्ट के पायथन प्रोग्राम के बारे में सीखा।