এই আর্টিকেলে আমরা নিচের সমস্যা সমাধানের কথা শিখব।
সমস্যা: একটি অ্যারে দেওয়া আছে, আমাদের কাউন্টিং সর্টের কনসেপ্ট ব্যবহার করে অ্যারেটি সর্ট করতে হবে।
কাউন্টিং সর্ট একটি টেকনিক যেখানে আমরা একটি নির্দিষ্ট রেঞ্জের কি-গুলোর ওপর কাজ করি। এতে ডISTINCT কি ও ভ্যালুযুক্ত অবজেক্টের সংখ্যা কাউন্ট করা জড়িত। अन्तত, আমরা অ্যারিথমেটিক ক্যালকুলেশন করে প্রতিটি অবজেক্টের পজিশন বের করি এবং আউটপুট ডিসপ্লে করি।
চলুন নিচের ইমপ্লিমেন্টেশনে সমাধানটি পর্যবেক্ষণ করি।
উদাহরণ
def countSort(arr):
# আউটপুট ক্যারেক্টার অ্যারে যেটি সর্টেড arr ধারণ করবে
output = [0 for i in range(256)]
# ০ দিয়ে ইলিশিয়ালাইজড কাউন্ট অ্যারে
count = [0 for i in range(256)]
# স্ট্রিং ইমিউটেবল হওয়ায়
ans = ["" for _ in arr]
# কাউন্ট
for i in arr:
count[ord(i)] += 1
# আউটপুট অ্যারেতে ক্যারেক্টারের পজিশন
for i in range(256):
count[i] += count[i-1]
# আউটপুট ক্যারেক্টার অ্যারে
for i in range(len(arr)):
output[count[ord(arr[i])] - 1] = arr[i]
count[ord(arr[i])] -= 1
# সর্টেড ক্যারেক্টার অ্যারে
for i in range(len(arr)):
ans[i] = output[i]
return ans
# মেইন
arr = "Tutorialspoint"
ans = countSort(arr)
print("Sorted character array is " + str("".join(ans)))
আউটপুট
Sorted character array is Taiilnooprsttu

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