এই নিবন্ধে আমরা সিলেকশন সোর্ট এবং পাইথন ৩.x-এ এর বাস্তবায়ন নিয়ে আলোচনা করব।
সিলেকশন সোর্ট অ্যালগরিদমে, একটি অ্যারে সর্ট করা হয় অনসর্টেড অংশ থেকে ন্যূনতম উপাদানটি বারবার খুঁজে বের করে এবং সেটিকে শুরুতে যোগ করে। সিলেকশন সোর্ট এক্সিকিউশনের সময় একটি দিয়ে गये অ্যারেতে দুটি সাবঅ্যারে তৈরি হয়।
- সাবঅ্যারে, যা ইতিমধ্যে সর্টেড
- সাবঅ্যারে, যা অনসর্টেড।
সিলেকশন সোর্টের প্রতিটি ইটারেশনে, অনসর্টেড সাবঅ্যারে থেকে ন্যূনতম উপাদানটি বের করে সর্টেড সাবঅ্যারেতে যোগ করা হয়।
অ্যালগরিদমটির ভিজ্যুয়াল রিপ্রেজেন্টেশন নিচে দেখুন:

এখন অ্যালগরিদমটির বাস্তবায়ন দেখা যাক:
উদাহরণ
A = ['t','u','t','o','r','i','a','l']
for i in range(len(A)):
min_ = i
for j in range(i+1, len(A)):
if A[min_] > A[j]:
min_ = j
# swap
A[i], A[min_] = A[min_], A[i]
# মেইন
for i in range(len(A)):
print(A[i])
আউটপুট
a i l o r t t u
এলগরিদম থেকে অ্যাসেন্ডিং অর্ডারে আউটপুট পেয়েছি। Min_ হলো বর্তমান ভ্যালু যা অন্য সব ভ্যালুর সাথে তুলনা হচ্ছে। অ্যালগরিদমটির বিশ্লেষণ প্যারামিটারগুলো নিচে দেওয়া হলো:
টাইম কমপ্লেক্সিটি - O(n²)
অ্যাক্সিলিয়ারি স্পেস - O(1)
সকল ভেরিয়েবল গ্লোবাল ফ্রেমে ডিক্লেয়ার করা হয়েছে।

উপসংহার
এই নিবন্ধে আমরা পাইথন ৩.x-এ সিলেকশন সোর্ট এবং এর বাস্তবায়ন শিখেছি।