بکندباز

الگوریتم مرتب‌سازی شمارشی (Counting Sort)

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

الگوریتم مرتب‌سازی شمارشی:

الگوریتم مرتب‌سازی شمارشی یک الگوریتم ساده و مؤثر برای مرتب‌سازی داده‌ها است، به ویژه زمانی که مقادیر داده‌ها محدود و مشخص هستند. این الگوریتم به این صورت عمل می‌کند:

  1. شمارش مقادیر:

    • ابتدا برای هر مقدار ممکن در داده‌ها یک شمارنده تعریف می‌کنیم.
    • سپس برای هر عنصر در داده‌ها، شمارنده مرتبط با مقدار آن افزایش می‌یابد.
  2. ساخت دنباله مرتب:

    • حالا با استفاده از شمارنده‌ها، می‌توانیم داده‌ها را مرتب کنیم. برای این کار از کمک یک آرایه یا لیست جدید استفاده می‌شود.
  3. تولید دنباله مرتب شده:

    • با استفاده از شمارنده‌ها، می‌توانیم عناصر را به ترتیب صعودی یا نزولی در آرایه یا لیست جدید قرار دهیم.

مثال:

فرض کنید که می‌خواهیم یک لیست از اعداد صحیح را مرتب کنیم و مقادیر ممکن این اعداد بین ۱ تا ۵ باشند. لیست مورد نظر به شکل زیر باشد:

[4, 2, 1, 5, 3, 4, 1, 2]
  1. شمارش مقادیر:

    • تعداد هر مقدار را شمارش می‌کنیم:
      [1: 2, 2: 2, 3: 1, 4: 2, 5: 1]
  2. ساخت دنباله مرتب:

    • با استفاده از شمارنده‌ها یک لیست خالی ایجاد می‌کنیم.
  3. تولید دنباله مرتب شده:

    • با استفاده از شمارنده‌ها عناصر را به ترتیب قرار می‌دهیم:
      [1, 1, 2, 2, 3, 4, 4, 5]

الگوریتم مرتب‌سازی شمارشی به خوبی در مواردی که تعداد مقادیر ممکن کم است و داده‌ها توزیع یکنواختی دارند، عملکرد خوبی دارد. با این حال، در مواردی که مقادیر زیاد و یا متنوع هستند، الگوریتم‌های دیگری مانند QuickSort یا MergeSort ممکن است بهترین گزینه باشند.

backendbaz

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

دیدگاه‌ها

*
*