কম্পিউটার টিউটোরিয়াল

পাইথন প্রোগ্রাম: সিলেকশন সোর্ট অ্যালগরিদম


এই নিবন্ধে আমরা সিলেকশন সোর্ট এবং পাইথন ৩.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-এ সিলেকশন সোর্ট এবং এর বাস্তবায়ন শিখেছি।

  1. অ্যাক্টিভিটি সিলেকশন প্রব্লেমের পাইথন প্রোগ্রাম

  2. পাইথনে সিলেকশন সর্ট (Selection Sort)

  3. পাইথন প্রোগ্রাম: বাবল সোর্ট অ্যালগরিদম

  4. পাইথন প্রোগ্রাম: ইনসারশন সোর্ট অ্যালগরিদম