stanford-oval/wikipedia huggingface dataset:
الگوریتم مرتب‌سازی
الگوریتم‌های مرتب‌سازی تطبیقی > مرتب‌سازی درجی > مقایسه

این الگوریتم در عمل از بسیاری از الگوریتم‌های هم‌مرتبه خود مثل مرتب‌سازی حبابی و مرتب‌سازی انتخابی بهتر عمل می‌کند و متوسط زمان اجرای آن  n^{2}/4\! می‌باشد و برای تعداد ورودی‌های کم، الگوریتم کارایی محسوب می‌شود. همچنین برای مرتب‌سازی مجموعه‌ای از داده‌های تقریباً مرتب کارآمد است. اگر تعداد وارونگی‌ها، d  باشد، این الگوریتم دارای زمان اجرای O(n)+d خواهد بود.
بهترین ورودی برای آن داده‌های مرتب و بدترین ورودی آرایه‌ای است که به صورت معکوس مرتب شده باشد.
در حالت کلی، مرتب‌سازی درجی در آرایه  O(n^{2})\! بار عمل نوشتن انجام می‌دهد؛ درحالی‌که مرتب‌سازی انتخابی تنها  O(n)\! بار می‌نویسد. به همین دلیل مرتب‌سازی انتخابی در مواردی که نوشتن در حافظه نیازمند هزینه زیادی باشد، سریعتر عمل می‌کند مانند نوشتن در فلش مموری.
برخی الگوریتم‌های حل و تقسیم، مثل مرتب‌سازی ادغامی یا مرتب‌سازی سریع که با تقسیم لیست به صورت بازگشتی به زیر‌لیست‌های مرتب شده، عمل مرتب‌سازی را انجام می‌دهند. یک راه بهینه‌سازی برای این الگوریتم‌ها، استفاده از مرتب‌سازی درجی برای مرتب کردن زیر‌لیست‌های کوچک است که در کل موجب تسریع الگوریتم می‌شود. سایز زیر‌لیست‌هایی که استفاده از مرتب‌سازی درجی برای آن‌ها کارایی بهتری دارد حدودا بین ۸ تا ۲۰ عنصر است.
الگوریتم‌های مرتب‌سازی تطبیقی > مرتب‌سازی درجی > گونه‌های دیگر

مرتب‌سازی درجی دودویی، گونه‌ای از مرتب‌سازی درجی است که در آن برای یافتن محل مناسب هر عنصر از جستجوی دودویی استفاده می‌شود. این الگوریتم برای زمانی که هزینهٔ مقایسه‌ها از هزینهٔ جابه‌جایی‌ها بیشتر باشد، مانند زمانی که لیست ورودی مرتب شده‌است، مناسب‌تر می‌باشد.
D.L.Shell مرتب‌سازی درجی را با الگوریتمی تحت عنوان مرتب‌سازی شل بهبود بخشید. این الگوریتم مرتب‌سازی را با مقایسه دو عنصر که فاصله آن‌ها از هم در هر مرحله کم می‌شود، انجام می‌دهد. مرتب‌سازی شل پیچیدگی الگوریتم را در عمل به‌طور قابل توجهی افزایش داده که در دو نسخه مختلف با  (O(n^{(}3/(2))\! و  O(n^{(}4/3))\! عمل می‌کند.
گونهٔ تغییریافتهٔ دیگری از مرتب‌سازی درجی در سال ۲۰۰۶ با نام مرتب‌سازی کتابخانه‌ای طراحی شد که در آن تعداد کمی فضای بدون استفاده در سراسر آرایه پخش می‌شود. این کار باعث تسریع شدن درج‌های بعدی می‌شود. طراحان ثابت کرده‌اند که این الگوریتم با احتمال زیادی در زمان   O(nlogn)\! اجرا می‌شود.
مرتب‌سازی گورزاد نیز الگوریتم دیگری است که با تغییر کوچکی در مرتب‌سازی درجی ایجاد شده است؛ به این ترتیب که در هر مرحله برای درج عنصر به جای شیفت دادن از جابه‌جایی تعدادی از عناصر مجاور استفاده می‌شود، مثل مرتب‌سازی حبابی.
الگوریتم‌های مرتب‌سازی تطبیقی > مرتب‌سازی ادغامی > درباره

این مرتب‌سازی به طریقهٔ تقسیم و حل، لیست را مرتب می‌کند. به این صورت که آرایه را به دو لیست با اندازهٔ تقریباً مساوی تقسیم کرده، هر زیر لیست را به صورت بازگشتی مرتب و سپس با هم ادغام می‌کند.
الگوریتم‌های مرتب‌سازی تطبیقی > مرتب‌سازی ادغامی > مقایسه

مرتبهٔ این الگوریتم از حل رابطهٔ بازگشتی  T(n)=2T(n/2)+n\! حاصل می‌شود. در بدترین حالت، تعداد مقایسه‌های آن تقریباً  n\left\lceil logn\right\rceil -2^{\left\lceil logn\right\rceil }+1\! می‌باشد که در حالت متوسط مقدار آن a.n تا کم می‌شود که در آن  a=0.2645.
تعداد مقایسه‌های مرتب‌سازی ادغامی در بدترین حالت حدود ۰٫۳۹ کمتر از مرتب‌سازی سریع در حالت متوسط است. بدترین حالت مرتب‌سازی ادغامی زمانی اتفاق می‌افتد که کلید تمام عناصر با هم برابر باشند. لازم است ذکر شود این حالت برای مرتب‌سازی سریع بهترین حالت است! در پیاده‌سازی بازگشتی آن تابع مرتب‌سازی در بدترین حالت ۲n-1 بار صدا زده می‌شود، در حالی که در مرتب‌سازی سریع n بار صدا زده می‌شود.
پیاده‌سازی معمولی مرتب‌سازی ادغامی به صورت غیردرجا و با حافظه کمکی n است (البته پیاده‌سازی‌هایی نیز وجود دارد که به صورت غیر درجاست اما به n/2 حافظه اضافی نیاز دارد). پیاده‌سازی درجای آن (بدون نیاز به حافظه کمکی) نیز امکان‌پذیر است اما پیچیده بوده و در عمل کارایی آن را کاهش می‌دهد. مرتب‌سازی ادغامی درجا برخلاف نوع ساده آن لزوما پایدار نیست.
در مقایسه مرتب‌سازی ادغامی با دیگر الگوریتم‌ها، می‌توان گفت اگر چه در اکثر موارد از مرتب‌سازی هرمی کندتر عمل می‌کند و همچنین حافظهٔ بیشتری می‌گیرد و اگر چه در یک نگاه کلی مرتب‌سازی سریع به عنوان سریع‌ترین الگوریتم مرتب‌سازی شناخته می‌شود، اما مرتب‌سازی ادغامی یک مرتب‌سازی پایدار است که اجرای موازی آن بهتر عمل می‌کند و همچنین اغلب بهترین انتخاب برای مرتب‌سازی یک لیست پیوندی است. زیرا اجرای مرتب‌سازی هرمی روی آن غیرممکن و اجرای مرتب‌سازی سریع کارایی چندانی ندارد.
در جاوا، دستور Array.sort() یا از مرتب‌سازی ادغامی استفاده می‌کند یا از یک نوع مرتب‌سازی سریع وابسته به نوع داده؛ که برای کارایی بیشتر هنگامی که کمتر از ۷ ورودی داریم به مرتب‌سازی درجی تغییر می‌کند.
پایتون نیز از مرتب‌سازی تیم (به انگلیسی: Timsort) استفاده می‌کند که ترکیبی از مرتب‌سازی ادغامی و درجی می‌باشد.
الگوریتم‌های مرتب‌سازی تطبیقی > مرتب‌سازی هرمی > درباره

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

این الگوریتم که یک مرتب‌سازی غیرپایدار اما درجاست، در بدترین حالت دارای پیچیدگی  O(nlogn)\! می‌باشد و پیاده‌سازی آن برخلاف مرتب‌سازی سریع به صورت بازگشتی نیست.
در مقایسه با مرتب‌سازی سریع، معمولاً مرتب‌سازی سریع، کارایی بیشتری از خود نشان می‌دهد اما بدترین حالت آن  O(n^{2})\! می‌باشد که آن را برای تعداد زیادی داده، ناکارآمد می‌کند.
الگوریتم‌های مرتب‌سازی تطبیقی > مرتب‌سازی هرمی > گونه‌های دیگر

مرتب‌سازی درونگرا، یک الگوریتم مرتب‌سازی جالب برای ترکیب مرتب‌سازی سریع و هرمی است، به نحوی که برتری‌های هر دو را در خود جای دهد: سرعت مرتب‌سازی هرمی در حالت بد و سرعت مرتب‌سازی سریع در حالت میانگین.
در مقایسه با مرتب‌سازی ادغامی، معمولاً در دستگاه‌هایی که حافظه نهان (Cache) کمتری دارند، مرتب‌سازی هرمی سریع‌تر عمل می‌کند. از طرف دیگر مرتب‌سازی ادغامی چندین مزیت بر مرتب‌سازی هرمی دارد. از جمله این که پایدار است، موازی‌سازی آن بهتر صورت می‌گیرد و قابل پیاده‌سازی روی لیست پیوندی است.
الگوریتم مرتب‌سازی هرمی مبنای ۳ نیز دقیقا شبیه الگوریتم مذکور است با این تفاوت که به جای یک هرم دودویی از یک هرم سه‌سه‌یی استفاده می‌کند. به این معنا که هر عنصر می‌تواند ۳ فرزند داشته باشد. پیاده‌سازی این الگوریتم مشکل است اما به تعداد ثابتی عمل مقایسه و جابجایی را کاهش می‌دهد. این روش حدود ۱۲% سریع‌تر از حالت معمولی مرتب‌سازی هرمی عمل می‌کند.
نوع دیگری از مرتب‌سازی هرمی با استفاده از درخت دکارتی انجام می‌شود که عنصر را تا زمانی که کلیدهای کوچکتر در دو طرف آن گره، درون خروجی مرتب شده قرار نگرفته باشند، درون هرم اضافه نمی‌کند. به این ترتیب اثبات می‌شود که الگوریتم برای ورودی‌هایی که از قبل تقریباً مرتب شده‌اند سریع‌تر از  O(nlogn)\! عمل می‌کند.
به خاطر حد بالای ثابت اجرای آن و همچنین حافظهٔ کمکی ثابت، در سیستم‌های تعبیه شده که محدودیت زمانی دارند یا سیستم‌های امنیتی از این مرتب‌سازی استفاده می‌کنند.
الگوریتم‌های مرتب‌سازی تطبیقی > مرتب‌سازی سریع > درباره

یکی از روش‌های مرتب‌سازی است که به علت مصرف کم حافظه، سرعت اجرای مناسب و پیاده‌سازی ساده، بسیار مورد توجه و محبوب واقع شده‌است. این روش در ۱۹۶۰ توسط ریچارد هواره که بر روی ماشین ترجمه کار می‌کرد، برای مرتب‌سازی کلماتی که باید ترجمه می‌شدند، طراحی شد.
هر پیاده‌سازی این روش، از دو بخش تقسیم‌بندی آرایه و مرتب‌سازی تشکیل شده‌است و برای هر تقسیم‌بندی نیاز به یک محور دارد. پس از انتخاب محور، داده‌ها نسبت به آن مرتب می‌شوند یعنی همه داده‌های بزرگتر در یک طرف و داده‌های کوچکتر در طرف دیگر قرار می‌گیرند. با مرتب‌سازی بازگشتی این دو قسمت کل داده‌ها مرتب می‌شوند. برخلاف مرتب‌سازی ادغامی در این روش نیازی به ادغام این دو بخش نیست چرا که همه داده‌های قسمت چپ از داده‌های قسمت راست کوچکتر است.
این روش در واقع گونه‌ای مرتب‌سازی درخت دودویی است که از لحاظ حافظه بهینه شده‌است.
الگوریتم‌های مرتب‌سازی تطبیقی > مرتب‌سازی سریع > مقایسه

بهترین حالت برای این الگوریتم زمانی اتفاق می‌افتد که محور در وسط واقع شود، در این صورت این الگوریتم در  O(nlogn)\! و سریع تر از الگوریتم‌های دیگر اجرا می‌شود.
بدترین حالت زمانی است که محور پس از تقسیم در ابتدا یا انتهای آرایه قرار گیرد. که در این حالت زمان اجرای آن  O(n^{2})\! خواهدبود.
پیاده‌سازی آن به صورت تصادفی، محور را در هر مرحله به شکل تصادفی انتخاب می‌کند.
پیاده‌سازی آن برای لیست پیوندی معمولاً کارا نیست زیرا به دلیل نبود دسترسی تصادفی، محور خوبی نمی‌توان انتخاب کرد.
مرتب‌سازی سطلی که با دو سطل انجام شود، بسیار شبیه مرتب‌سازی سریع است. محور در این مورد، عنصر میانی کلیدهاست. این عمل، حالت میانگین را برای ورودی‌های به‌طور یکنواخت توزیع شده، به خوبی اصلاح می‌کند.
این الگوریتم در عمل برای مرتب‌سازی آرایه‌های نسبتا کوچک اصلا مناسب نیست. به علاوه بخش تقسیم‌بندی آرایه نیز مشکل بزرگی در زمان اجرا می‌باشد. به همین دلیل پیشنهاد می‌شود برای ۷ داده یا کمتر از انواع دیگر مرتب‌سازی مثل مرتب‌سازی درجی استفاده شود؛ به علاوه به جای پیاده‌سازی بخش تقسیم‌بندی برای بیش از ۴۰ داده می‌توان از میانهٔ ۹، برای کمتر از ۴۰ داده از میانهٔ ۳ و برای آرایه‌های بسیار کوچک از عضو وسط استفاده کرد.
این مرتب‌سازی را نیز می‌توان مثل مرتب‌سازی ادغامی به صورت موازی اجرا نمود. اگر n پردازنده داشته باشیم، می‌توان با  O(n)\!، n عنصر را به p زیر‌لیست تقسیم نمود، سپس هر بخش را با  O({\frac {n}{p}}log{\frac {n}{p}})\! مرتب کرد. یک مزیت پیاده‌سازی موازی آن این است که نیازی به همگام‌سازی نیست و وقتی که زیر‌لیست‌ها آماده شد، اجرای هر بخش کاملاً مستقل از بخش‌های دیگر است.
این مرتب‌سازی، برای اجرا بر روی معماری‌های کامپیوتری امروزی بسیار مناسب است و از سلسله مراتب حافظه، بهترین استفاده را می‌کند.
پیاده‌سازی بسیار خوبی از این الگوریتم را می‌توانید در کد منبع جاوا، در کتابخانهٔ java.util.array مشاهده نمایید.
الگوریتم‌های مرتب‌سازی ناتطبیقی > مرتب‌سازی مبنایی (پایه‌ای) > درباره

الگوریتمی است که لیستی از   n\! داده با طول حداکثر  k\! را در   O(nk)\! مرتب می‌کند. به این صورت که ورودی را اگر رشته است به حروف سازنده اش و اگر عدد صحیح است به ارقامش شکسته و ابتدا کم ارزش‌ترین (یا پرارزش‌ترین) بخش آن‌ها را مقایسه کرده، مرتب می‌کنیم، سپس بخش بعدی را مقایسه می‌کنیم و به همین ترتیب. برای مرتب کردن هر بخش می‌توانیم از مرتب‌سازی شمارشی استفاده کنیم. اگر از کم ارزش‌ترین بخش شروع کنیم به آن LSD radix sort می‌گویند و اگر از پرارزش‌ترین قسمت شروع کنیم MSD radix sort.
الگوریتم‌های مرتب‌سازی ناتطبیقی > مرتب‌سازی مبنایی (پایه‌ای) > مقایسه

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

گفتیم که زمان اجرای مرتب‌سازی مبنایی  O(kn)\! می‌باشد. وقتی که  k\! از حدود  logn\! باشد، ممکن است به نظر برسد که مرتب‌سازی مبنایی، برتری خاصی نسبت به الگوریتم‌های تطبیقی مثل مرتب‌سازی ادغامی نداشته باشد. اما باید توجه داشت که پیچیدگی  O(nlogn)\! به‌دست آمده برای این الگوریتم‌های تطبیقی، در واقع تعداد مقایسه‌های دو عدد کامل را می‌شمارد و سریع‌ترین زمان ممکن برای این مقایسه برابر است با k. بنابراین اگر ما تعداد عملیات بنیادین انجام شده را بشماریم، پیچیدگی مرتب‌سازی ادغامی از  O(knlogn)\! خواهد بود.
الگوریتم‌های مرتب‌سازی ناتطبیقی > مرتب‌سازی شمارشی > درباره

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

این الگوریتم در سال ۱۹۵۴ توسط هارولد سوارد طراحی شد.
الگوریتم‌های مرتب‌سازی ناتطبیقی > مرتب‌سازی شمارشی > مقایسه

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

این مرتب‌سازی یک مرتب‌سازی پایدار، با پیچیدگی  O(n+k)\! است که n طول آرایه ورودی و k طول آرایه شمارش می‌باشد.
برای این که الگوریتم کارآمد باشد، لازم است k از مرتبهٔ n باشد تا پیچیدگی نهایی آن از  O(n)\! باشد.
الگوریتم‌های مرتب‌سازی ناتطبیقی > مرتب‌سازی شمارشی > انواع دیگر

یک گونه تغییریافتهٔ مرتب‌سازی شمارشی، Tally sort است که در آن آرایه ورودی شامل کلیدهای تکراری نیست یا انتظار ما این است که در طول مرتب سازی، تکرارهای هر کلید از آرایه حذف شوند. در این مرتب‌سازی آرایه شمارشی به صورت آرایه‌ای از بیت هاست و هر بیت در صورتی یک می‌شود که کلید آن در بین اعداد موجود باشد.
الگوریتم‌های مرتب‌سازی ناتطبیقی > مرتب‌سازی لانه کبوتری > درباره

این الگوریتم که count sort نیز نامیده می‌شود (با counting sort اشتباه نشود) الگوریتمی است که برای مرتب‌سازی لیستی از عناصر که در آن تعداد عناصر (n) و تعداد کلیدهای ممکن (N) تقریباً با هم برابر باشد، بسیار مناسب است.
مراحل انجام آن به این صورت است:
1- با گرفتن آرایه ورودی، آرایه کمکی از لانه‌ها می‌سازیم، به‌طوری‌که هر لانه برای تعدادی از کلیدها در محدوده آرایه ورودی باشد.
2- با پیمایش آرایه اصلی، هر عنصر را در لانه‌ای که با کلید آن عنصر مشابهت دارد قرار می‌دهیم. بنابراین هر لانه شامل عناصری با کلیدهای یکسان می‌شود.
3- با گذر از لانه‌ها، عناصر خانه‌هایی که خالی نیستند را در آرایه اصلی کپی می‌کنیم.
به عنوان مثال فرض کنید می‌خواهیم عناصر زیر را بر حسب کلیدهایشان مرتب کنیم:
(5 , “hello”)
(3 , “pie”)
(8 , “apple”)
(5 , “king”)
برای هر کلید بین ۳ تا ۸، یک لانه می‌سازیم، و عناصر را به شکل زیر درون لانه‌ها قرار می‌دهیم:
3: (3 , “pie”)
4:
5: (5 , “hello”) , (5 , “king”)
6:
7:
8: (8 , “apple”)
حال با پیمایش لانه‌ها آن‌ها را درون آرایه اصلی قرار می‌دهیم.

تفاوت بین مرتب‌سازی لانه کبوتری و مرتب‌سازی شمارشی این است که در مرتب‌سازی شمارشی، آرایه کمکی شامل عناصر ورودی نیست و تنها تکرار آن‌ها را می‌شمارد. مثلاً برای مثال قبل:
3: 1
4: 0
5: 2
6: 0
7: 0
8: 1
با استفاده از این اطلاعات ما می‌توانیم با یکبار انتقال عناصر آرایه را مرتب کنیم، در صورتی که در مرتب‌سازی کبوتری دو انتقال لازم است، یکبار از آرایه اصلی به لانه‌ها و یکبار از لانه‌ها به آرایه نهایی.

برای آرایه‌هایی که تعداد کلیدهای متفاوت آن‌ها (N) خیلی بزرگتر از اندازه شان (n) باشد، مرتب‌سازی سطلی الگوریتمی است که در حافظه و زمان کارآمدتر عمل می‌کند.
الگوریتم‌های مرتب‌سازی ناتطبیقی > مرتب‌سازی سطلی > درباره

Bucket sort یا Bin sort نوعی مرتب‌سازی ناتطبیقی است که آرایه را به تعدادی سطل تقسیم‌بندی می‌کند. سپس هر سطل به صورت مستقل مرتب می‌شود، یا با استفاده از الگوریتم‌های متفاوت مرتب‌سازی یا با اعمال بازگشتی خود مرتب‌سازی سطلی.

صورتی از این مرتب‌سازی بر روی آرایه از اعداد در دو شکل زیر مشخص است.

این مرتب‌سازی در واقع از خانواده مرتب‌سازی مبنایی است و همچنین حالت تعمیم یافتهٔ مرتب‌سازی طبقه‌ای است.

شکل اصلی پیاده‌سازی آن به این صورت است که پس از سطل بندی، هر سطل را با مرتب‌سازی درجی مرتب می‌کنیم، می‌توان نشان داد که هر سطل تقریباً در زمان خطی مرتب می‌شود. اگرچه کارایی این الگوریتم به شیوه سطل بندی کردن بسیار وابسته است. اگر سطل بندی به گونه‌ای باشد که کلیدهای زیادی درون یک سطل قرار بگیرند، مرتب‌سازی به کندی صورت می‌گیرد.

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

Shuffle sort گونهٔ تغییریافته‌ای از مرتب‌سازی سطلی است که در آن ۱/۸ ابتدایی داده‌ها از آرایه جدا می‌شود و به‌طور جداگانه مرتب می‌شود. این عناصر n/8 سطل، برای ۷/۸ عنصر باقیماندهٔ آرایه ایجاد می‌کند. هر سطل مرتب می‌شود و سپس برای ساخت آرایه نهایی به هم الصاق می‌شود. این مرتب‌سازی به عنوان یک مرحله در J sort مورد استفاده قرار می‌گیرد.

مرتب‌سازی سطلی می‌تواند به عنوان نسخهٔ تغییریافتهٔ مرتب‌سازی شمارشی تلقی شود. اگر اندازهٔ هر سطل یک باشد، این دو مرتب‌سازی هم تراز هم قرار می‌گیرند. اندازهٔ متغیر سطل‌ها در مرتب‌سازی سطلی، به آن اجازه استفاده از حافظه  O(n)\! به جای  O(m)\! می‌دهد که  m تعداد کلیدهای متمایز است. به عبارت دیگر، این مرتب سازی، رفتار مرتب‌سازی شمارشی را در بدترین حالت که  O(n+m)\! می‌باشد، بهبود می‌دهد.

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

مرتب‌سازی ادغامی n – سویه نیز با تقسیم لیست ورودی به n زیر‌لیست و مرتب‌سازی آن‌ها آغاز می‌شود. اگرچه در زیر‌لیست‌های ایجاد شده توسط مرتب‌سازی ادغامی، محدوده کلیدها با هم اشتراک پیدا می‌کند و این سبب می‌شود که ترکیب زیر‌لیست‌های آن به سادگی مرتب‌سازی سطلی نباشد و به جای آن از یک الگوریتم ادغام استفاده بشود، اما  این هزینهٔ اضافی با آسان کردن مرحلهٔ تقسیم داده‌ها و همچنین هم اندازه کردن همهٔ زیر‌لیست‌ها جبران می‌شود و در نهایت حد بالای زمان مرتب‌سازی را (یعنی در بدترین حالت) بهبود می‌دهد.
پیاده سازی‌ها

پیاده‌سازی مرتب‌سازی حبابی به ۲۶ زبان
پیاده‌سازی مرتب‌سازی انتخابی به ۱۰ زبان
پیاده‌سازی مرتب‌سازی درجی به ۱۷ زبان
پیاده‌سازی مرتب‌سازی ادغامی به ۱۵ زبان
پیاده‌سازی مرتب‌سازی هرمی به ۸ زبان
پیاده‌سازی مرتب‌سازی سریع به ۳۳ زبان
نمایش مرتب‌سازی حبابی
نمایش مرتب‌سازی انتخابی
نمودار زمان برحسب تعداد ورودی
نمایش گرافیکی مرتب‌سازی درجی
نمایش مرتب‌سازی ادغامی
نمایش گرافیکی مرتب‌سازی هرمی
نمایش گرافیکی مرتب‌سازی سریع
عناصر درون سطل‌ها توزیع می‌شوند.
عناصر درون هر سطل مرتب می‌شوند.
اورانیوم ضعیف‌شده

یک فشنگ ساخت اورانیوم تضعیف شده
اورانیوم فقیرشده، اورانیوم تهی شده، اورانیوم ضعیف‌شده (به انگلیسی: Depleted uranium)(به فرانسوی: Uranium appauvri) به اورانیومی گفته می‌شود که میزان ایزوتوپ قابل شکافت ۲۳۵ در آن کمتر از اورانیوم طبیعی باشد. این فلز فراورده جانبی غنی‌سازی اورانیوم است و با توجه به چگالی بسیار بالای آن که نزدیک به دو برابر سرب است، در صنایع مختلف از جمله وزنه‌های تعادلی هواپیما، حفاظ‌های ضد تشعشعات رادیواکتیو، تجهیزات رادیوتراپی، کانتینرهای حمل مواد رادیواکتیو، گلوله‌ها و مهمات ضد زره توپ‌ها و تفنگ‌های جنگی، و زره‌های دفاعی مثل زره تانکها کاربرد دارد. کاربرد اورانیوم ضعیف‌شده در گلوله‌های ضدزره علاوه بر چگالی بالای آن به دلیل قابلیت اشتعال آن در دمای بالای ۶۰۰ درجه نیز هست.
تفاوت با اورانیوم طبیعی

در اورانیوم طبیعی غلظت ایزوتوپ ۲۳۸ حدود ۹۹٫۲۷٪، ایزوتوپ ۲۳۵ حدود ۰٫۷۲٪ و ایزوتوپ ۲۳۴ حدود ۰٫۰۰۵۵٪ است. در حالی‌که در اورانیوم ضعیف‌شده غلظت ایزوتوپ ۲۳۸ حدود ۹۹٫۸٪، ایزوتوپ ۲۳۵ حدود ۰٫۲٪ و ایزوتوپ ۲۳۴ حدود ۰٫۰۰۱٪ است. بر این اساس تفاوت عمده اورانیوم رقیق‌شده و طبیعی در میزان ایزوتوپ ۲۳۵ است که در اورانیوم ضعیف شده کمتر از اورانیوم طبیعی است.
اورانیوم ضعیف شده به دست آمده از فرایند بازفرآوری از نظر میزان وجود ایزوتوپ اورانیوم ۲۳۶ با اورانیوم ضعیف شده به دست آمده از فرایند غنی‌سازی متفاوت است.
عوارض احتمالی

نگرانی‌هایی دربارهٔ آثار زیانبار احتمالی اورانیوم بر روی افرادی که زیاد در معرض آن‌ها قرار دارند مطرح شده‌است.
عوارض احتمالی > گزارش سازمان بهداشت جهانی

در گزارش سال ۲۰۰۳ سازمان بهداشت جهانی بخشی از عوارض اورانیوم ضعیف‌شده یاد شده‌است:
کلیه بیش از بقیه بافت‌های بدن، ممکن است از آثار مضر احتمالی اورانیوم تأثیر پذیرد
برخی تحقیقات از افزایش سرطان ریه در بین کارگران معادن اورانیوم حکایت دارد، هرچند با توجه به سمیت بسیار پایین اورانیوم ضعیف‌شده فقط در صورت استنشاق حجم بزرگی از غبار اورانیوم ضعیف شده (در حد چند گرم) احتمال سرطان ریه افزایش خواهد یافت.
مدرکی در مورد آثار تخریبی اورانیوم بر استخوان‌بندی، کبد، سیستم باروری و رشد بدن وجود ندارد.
با توجه به این که در اغلب مواقع، میزان اورانیوم ضعیف‌شده نسبت به اورانیومی که به‌طور طبیعی در محیط وجود دارد ناچیز است، خطر آلودگی با اورانیوم ضعیف شده احتمالاً تنها در جریان درگیری‌های نظامی مطرح می‌شود که در آن از مهمات حاوی اورانیوم ضعیف‌شده استفاده شده‌ باشد. گزارش برنامه محیط زیست ملل متحد پس از اندازه‌گیری اورانیوم در مکان‌هایی در کوزوو که در آن‌ها در جریان جنگ از مهمات حاوی اورانیوم ضعیف‌شده استفاده شده بود، نشان می‌داد که غلظت اورانیوم در سبزیجات و منابع آب این محل‌ها بسیار کم بوده و در نتیجه احتمال آلودگی عمده جوامع محلی به اورانیوم ضعیف‌شده بسیار ناچیز ارزیابی شده‌بود.
از دیدگاه حقوق بین‌الملل

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

به نظر برخی از حقوق‌دانان از آنجا که این سلاح‌ها احتمالاً باعث ایجاد بیماری در بین مردم غیرنظامی شده و به محیط زیست آسیب می‌رساند، باید مطابق اصول حقوق بین‌الملل راجع به کاربرد سلاح‌ها این نوع جنگ‌افزارها را ممنوع دانسته و از کاربرد آن‌ها خودداری کرد. همچنین کشورهای بلژیک و کاستاریکا نیز استفاده از این نوع سلاح‌ها را در ارتش‌های خود ممنوع کرده‌اند.
با این وجود، دیگر حقوق‌دانان و نهادهای بین‌المللی معتقدند که تا زمانی که سلاحی به‌طور مشخص در معاهده‌ای ممنوع نشود، نمی‌توان آن را ممنوع دانست و از آنجا که تاکنون بین کشورها معاهده‌ای راجع به ممنوعیت استفاده از سلاح‌های حاوی اورانیوم ضعیف شده به تصویب نرسیده‌است، نمی‌توان استفاده از این‌گونه سلاح‌ها را منع کرد. این دسته از حقوق‌دانان و نهادهای بین‌المللی به خصوص به رأی دیوان بین‌المللی دادگستری در قضیه مشروعیت تهدید یا استفاده از سلاح‌های هسته‌ای در سال ۱۹۹۶ استناد می‌کنند که در آن، دیوان علی‌رغم وجود آثار مخرب سلاح‌های هسته‌ای رأی داده بود که در شرایط فعلی حقوق بین‌الملل (که معاهده‌ای برای ممنوعیت سلاح‌های هسته‌ای وجود ندارد) دیوان نمی‌تواند به نتیجه قطعی برسد که تهدید یا استفاده از سلاح‌های هسته‌ای در شرایط بحرانی دفاع مشروع که حیات یک دولت به خطر افتاده‌است مشروع است یا غیر مشروع.
یک مأمور پژوهشی در حال ارائه گزارش استفاده از اورانیوم تهی شده در کوزوو
علیرضا قادری

| اطلاعات شخصی | اطلاعات شخصی | اطلاعات شخصی | اطلاعات شخصی |
| --- | --- | --- | --- |
نام کامل:  علیرضا قادری
زادروز:  ۱۶ فوریهٔ ۲۰۰۰ ‏(۲۴ سال)
زادگاه:  اصفهان
پست:  وینگر
اطلاعات باشگاهی: اطلاعات باشگاهی
باشگاه کنونی:  ذوب‌آهن اصفهان
شمارهٔ پیراهن:  ۱۹
باشگاه‌های جوانان: باشگاه‌های جوانان
۰۰۰۰–۲۰۱۸:  ذوب‌آهن اصفهان
باشگاه‌های حرفه‌ای*: باشگاه‌های حرفه‌ای*
| سال‌ها |  باشگاه‌ها |  بازی† |  (گل)† |
| ۲۰۱۸– |  ذوب‌آهن اصفهان |  ۲ |  (۰) |
 تعداد بازی‌ها و گل‌ها فقط مربوط به بازی‌های لیگ داخلی است. :  تعداد بازی‌ها و گل‌ها فقط مربوط به بازی‌های لیگ داخلی است. 
علیرضا قادری (زادهٔ ۱۶ فوریهٔ ۲۰۰۰) بازیکن فوتبال اهل ایران است که در پست وینگر برای باشگاه فوتبال ذوب‌آهن اصفهان در لیگ برتر خلیج فارس بازی می‌کند.
وی همچنین سابقهٔ حضور در تیم ملی جوانان را دارد
شورچاه

| شورچاه | شورچاه |
| --- | --- |
روستا: روستا
مختصات: ۳۲°۲۱′۵۳″شمالی ۵۹°۲۴′۱۲″شرقی﻿ / ﻿۳۲٫۳۶۴۷۲۲°شمالی ۵۹٫۴۰۳۳۳۳°شرقی﻿ / 32.364722; 59.403333: مختصات: ۳۲°۲۱′۵۳″شمالی ۵۹°۲۴′۱۲″شرقی﻿ / ﻿۳۲٫۳۶۴۷۲۲°شمالی ۵۹٫۴۰۳۳۳۳°شرقی﻿ / 32.364722; 59.403333
کشور: ایران
استان: خراسان جنوبی
شهرستان: سربیشه
بخش: مود
دهستان: نهارجان
جمعیت: ۰ نفر (سرشماری ۹۵)
شورچاه روستایی در دهستان نهارجان بخش مود شهرستان سربیشه استان خراسان جنوبی ایران است.
جمعیت

بر پایه سرشماری عمومی نفوس و مسکن در سال ۱۳۹۵ این روستا بدون جمعیت بوده‌است.
| جمعیت تاریخی> سال | جمعیت تاریخی> جمعیت | جمعیت تاریخی> ±% |
| --- | --- | --- |
| ۱۳۸۵ | ۱۷ | —     |
| ۱۳۹۰ | ۱۳ | ۲۳٫۵٪− |
| ۱۳۹۵ | ۰ | ۱۰۰٪− |
عباس رحیم

| اطلاعات شخصی | اطلاعات شخصی | اطلاعات شخصی | اطلاعات شخصی |
| --- | --- | --- | --- |
نام کامل:  Abbas Rahim Zaywer
زادروز:  ۱ ژانویهٔ ۱۹۷۹
زادگاه:  بغداد
تاریخ مرگ:  ۱۰ اوت ۲۰۱۲ (۳۳ سال)
محل مرگ:  بغداد
پست:  هافبک
تیم ملی: تیم ملی
| سال‌ها |  تیم |  بازی‌ها† |  (گل‌ها)† |
| ۱۹۹۹–۲۰۰۳ |  تیم ملی فوتبال عراق |  ۳۵ |  (۴) |
عباس رحیم (انگلیسی: Abbas Rahim; ۱ ژانویهٔ ۱۹۷۹ – ۱۰ اوت ۲۰۱۲) یک بازیکن فوتبال اهل عراق بود.
از باشگاه‌هایی که در آن بازی کرده‌است می‌توان به تیم ملی فوتبال عراق اشاره کرد.
وی همچنین در تیم ملی فوتبال تیم ملی فوتبال عراق بازی کرده است.
علی بی‌لی (کلبجر)

| علی بی‌لی | علی بی‌لی |
| --- | --- |
علی بی‌لی: علی بی‌لی
مختصات: ۳۹°۵۸′۱۹″ شمالی ۴۶°۱۳′۰۹″ شرقی﻿ / ﻿۳۹٫۹۷۱۹۴°شمالی ۴۶٫۲۱۹۱۷°شرقی﻿ / 39.97194; 46.21917: مختصات: ۳۹°۵۸′۱۹″ شمالی ۴۶°۱۳′۰۹″ شرقی﻿ / ﻿۳۹٫۹۷۱۹۴°شمالی ۴۶٫۲۱۹۱۷°شرقی﻿ / 39.97194; 46.21917
کشور:  جمهوری آرتساخ  جمهوری آذربایجان
استان شهرستان: استان شاهومیان شهرستان کلبجر
منطقهٔ زمانی: یوتی‌سی +۴
 • تابستانی (DST): یوتی‌سی +۵
علی بی‌لی (ارمنی: Վորդուակ؛ ترکی آذربایجانی: Alıbəyli)  یک منطقهٔ مسکونی در جمهوری آرتساخ است که در استان شاهومیان واقع شده‌است.
صالحیه (بردسکن)

| صالحیه | صالحیه |
| --- | --- |
روستا: روستا
مختصات: ۳۵°۰۸′۲۱″شمالی ۵۷°۲۳′۱۲″شرقی﻿ / ﻿۳۵٫۱۳۹۱°شمالی ۵۷٫۳۸۶۶°شرقی﻿ / 35.1391; 57.3866: مختصات: ۳۵°۰۸′۲۱″شمالی ۵۷°۲۳′۱۲″شرقی﻿ / ﻿۳۵٫۱۳۹۱°شمالی ۵۷٫۳۸۶۶°شرقی﻿ / 35.1391; 57.3866
کشور: ایران
استان: خراسان رضوی
شهرستان: بردسکن
بخش: بخش انابد
دهستان: درونه
جمعیت: ۲۰۶ نفر (سرشماری ۹۵)
صالحیه نام روستایی از توابع بخش انابد شهرستان بردسکن در استان خراسان رضوی است.
جمعیت

این روستا در دهستان درونه قرار دارد و براساس سرشماری سال ۱۳۹۵ جمعیت آن ۲۰۶ نفر (۶۶ خانوار) بوده است.
| جمعیت تاریخی> سال | جمعیت تاریخی> جمعیت | جمعیت تاریخی> ±% |
| --- | --- | --- |
| ۱۳۸۵ | ۱۶۷ | —     |
| ۱۳۹۵ | ۲۰۶ | ۲۳٫۴٪+ |