بکندباز

الگوریتم مرتب سازی انتخابی

الگوریتم مرتب‌سازی انتخابی (Selection Sort) یکی از انواع الگوریتم‌های مرتب‌سازی در علم کامپیوتر و برنامه‌نویسی است. این الگوریتم به ازای هر مرحله انتخاب عنصری کمترین مقدار را از بین عناصر باقی‌مانده در لیست انتخاب کرده و آن را به جایگاه مورد نظر در لیست منتقل می‌کند. الگوریتم مرتب‌سازی انتخابی مثل سوراخ گودال‌کنی است که از ابتدا به آخر لیست حرکت کرده و در هر گام کمترین عنصر باقی‌مانده را پیدا کرده و به جایگاهش در لیست منتقل می‌کند. الگوریتم مرتب‌سازی انتخابی معمولاً از مرتب‌سازی‌های مقدماتی و آموزشی برای ارائه ایده مرتب‌سازی به افراد جدید به برنامه‌نویسی استفاده می‌شود.

الگوریتم مرتب‌سازی انتخابی به شکل زیر عمل می‌کند:

  1. شروع از ابتدا لیست.
  2. یافتن کمترین عنصر در لیست و مشخص کردن موقعیت آن.
  3. جابه‌جایی عنصر کمترین با عنصر ابتدای لیست (یا جایگاه مورد نظر).
  4. لیست را به یک مرحله بعدی منتقل کنید (یعنی از دومین عنصر شروع کنید و همین مراحل را انجام دهید).
  5. ادامه تکرار مراحل 2 تا 4 تا زمانی که تمام عناصر مرتب شوند.

الگوریتم مرتب‌سازی انتخابی نسبت به سایر الگوریتم‌های مرتب‌سازی به نسبت کمتر کارایی دارد، زیرا همواره نیاز به جستجوی کمترین عنصر در لیست دارد و از مقایسه‌های اضافی برای تعیین ترتیب عناصر استفاده می‌کند. اما این الگوریتم بسیار آموزنده است و به منظور آموزش مفهوم مرتب‌سازی به افراد مبتدی بسیار مناسب است.

در زیر یک کد نمونه برای الگوریتم مرتب‌سازی انتخابی در زبان برنامه‌نویسی Python ارائه شده است:

def selection_sort(arr):
    n = len(arr)
    for i in range(n):
        # پیدا کردن کمترین عنصر در باقی‌مانده لیست
        min_index = i
        for j in range(i + 1, n):
            if arr[j] < arr[min_index]:
                min_index = j

        # جابه‌جایی کمترین عنصر با عنصر فعلی
        arr[i], arr[min_index] = arr[min_index], arr[i]

# نمونه استفاده
arr = [64, 25, 12, 22, 11]
selection_sort(arr)
print("لیست مرتب‌شده:", arr)

این کد نمونه یک لیست عددی را مرتب می‌کند و نتیجه مرتب‌سازی را نمایش می‌دهد. البته می‌توان این الگوریتم را برای لیست‌های دیگر و انواع داده‌ها نیز استفاده کرد.

zohreh

مدیر وب سایت بکندباز

دیدگاه‌ها

*
*