آیا الگوریتم مرتب سازی سطلی درست است؟
آیا الگوریتم مرتب سازی سطلی درست است؟

تصویری: آیا الگوریتم مرتب سازی سطلی درست است؟

تصویری: آیا الگوریتم مرتب سازی سطلی درست است؟
تصویری: الگوریتم مرتب سازی سطلی / الگوریتم مرتب سازی رادیکس | مرتب سازی سطلی در ساختار داده | Simplile Learn 2024, نوامبر
Anonim

نه، این یک ورودی نیست محل مرتب سازی الگوریتم . کل ایده همین ورودی است مرتب می کند خود را در حالی که به آنها منتقل می شوند سطل ها . در بدترین حالت خوب (مقادیر ترتیبی، اما بدون تکرار) فضای اضافی مورد نیاز به اندازه آرایه اصلی است.

به این ترتیب، کدام الگوریتم های مرتب سازی وجود دارد؟

به عنوان مثالی دیگر، بسیاری از الگوریتم‌های مرتب‌سازی آرایه‌ها را به ترتیب مرتب‌سازی شده در جای خود بازآرایی می‌کنند، از جمله: مرتب سازی حبابی ، مرتب سازی شانه ای، مرتب سازی انتخابی، مرتب سازی درج ، دسته‌بندی، و مرتب‌سازی پوسته. این الگوریتم ها فقط به چند اشاره گر نیاز دارند، بنابراین پیچیدگی فضایی آنها O(log n) است. Quicksort در محل روی داده هایی که قرار است مرتب شوند عمل می کند.

پس از آن، سوال این است که الگوریتم مرتب سازی سطلی چگونه کار می کند؟ مرتب سازی سطلی ، یا مرتب سازی بن ، هست یک الگوریتم مرتب سازی که آثار با توزیع عناصر یک آرایه به تعدادی از سطل ها . هر یک سطل پس از آن است مرتب شده است به صورت جداگانه، یا با استفاده از یک متفاوت الگوریتم مرتب سازی ، یا با اعمال بازگشتی الگوریتم مرتب سازی سطلی . تنظیم یک آرایه از ابتدا خالی " سطل ها ".

بر این اساس، چگونه یک الگوریتم مرتب سازی سطلی را پیاده سازی می کنید؟

  1. فرض کنید، آرایه ورودی این است: یک آرایه به اندازه 10 ایجاد کنید.
  2. عناصر را در سطل های آرایه قرار دهید. عناصر با توجه به محدوده سطل وارد می شوند.
  3. عناصر هر سطل با استفاده از هر یک از الگوریتم های مرتب سازی پایدار مرتب می شوند.
  4. عناصر هر سطل جمع آوری می شوند.

مرتب سازی سطلی کجا استفاده می شود؟

مرتب سازی سطلی عمدتاً زمانی مفید است که ورودی به طور یکنواخت در یک محدوده توزیع شود. برای مثال مشکل زیر را در نظر بگیرید. مرتب سازی مجموعه بزرگی از اعداد ممیز شناور که در محدوده 0.0 تا 1.0 قرار دارند و به طور یکنواخت در سراسر محدوده توزیع شده اند.

توصیه شده: