এই আর্টিকেলে আমরা নিচের সমস্যা সমাধানের কথা শিখব।
সমস্যা: একটি অ্যারে দেওয়া আছে, আমাদের বাইনারি ইনসারশন সর্টের কনসেপ্ট ব্যবহার করে এটি সর্ট করতে হবে।
যে명의הוג্র denen বাইনারি সার্চের কনসেপ্ট ইনসারশন সর্ট অ্যালগরিদমের সাথে ব্যবহার করা হয়।
চলুন নিচের ইমপ্লিমেন্টেশনে সমাধানটি পর্যবেক্ষণ করি।
উদাহরণ
# সর্ট
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

সभी ভেরিয়েবল লোকাল স্কোপে ঘোষণা করা হয়েছে এবং তাদের রেফারেন্স উপরের চিত্রে দেখা যাচ্ছে।
উপসংহার
এই আর্টিকেলে আমরা শিখেছি কিভাবে বাইনারি ইনসারশন সর্টের পাইথন প্রোগ্রাম লিখতে হয়।