العربية
فتح في Telegram

منشور ✔️ استیبل بودن یا نبودن یک الگوریتم مرتب سازی

3 نوفمبر 2023
|
| کانال توسعه‌دهندگان پایتون |
✔️ استیبل بودن یا نبودن یک الگوریتم مرتب سازی یکی از دسته بندی های موجود برای الگوریتم هایsort کردن، فاکتور stable بودن یا نبودن هست. به طور خلاصه به الگوریتمی میگن stable که: موقع sort کردن یک لیست، اگه ۲ تا آیتم مساوی هم بودن، دقیقا به همون ترتیبی که توی لیست اولیه بودن، توی لیست مرتب شده هم ظاهر بشن. فرض کنید به شما میگن لیست زیر رو بر اساس: اول نمره و بعد درصورت یکسان بودن نمره ها، بر اساس حروف الفبا مرتب کنید. منتاها این لیستی که به شما میدن خودش بر اساس حروف الفبا مرتب شده هست: lst = [ ("Ashkan",17), ("Bahar",18), ("Sorena",17) ] یک راه مرسوم اینه که به این روش sort رو انجام بدیم: lst.sort(key=lambda x: (x[1], x[0])) کاملا درسته و هیچ اشکالی نداره. بیشتر میخواستیم درباره موضوع پست صحبت کنیم. آیا میتونیم فقط بیایم بر اساس آیتم دوم sort ش کنیم؟ این که خود لیست بر اساس حروف الفبا مرتب شده آیا کمکی میکنه؟ یعنی: lst.sort(key=lambda x: x[1]) اگه بدونیم الگوریتمی که استفاده شده stable هست بله میتونیم و گارانتی هست که آیتم های مساوی به همون ترتیب در خروجی قرار میگیرن، و چون در حال حاضر بر اساس حروف الفبا مرتب شده هستن، اون افرادی که نمره ی برابر دارن اتوماتیک بر اساس حروف الفبا هم مرتب هستن. خروجی هردو: [ ('Ashkan', 17), ('Sorena', 17), ('Bahar', 18) ] پایتون از Tim Sort استفاده میکنه و stable هست. چند تا از الگوریتم های مرتب سازی استیبل: • Insertion Sort • Merge Sort • Bubble Sort • Tim Sort و نقطه‌ی مقابلشون: • Heap Sort • Selection Sort • Quick Sort 👤 SorousH 💎 Channel: @DevelopixPython
24 · 7.1K ·

بجوارها في الخلاصة

|| کانال توسعه‌دهندگان پایتون |#سوال ✨ خروجی کد زیر چیست ⁉️ ✍️ *ژنرال* 💎 Channel: @DevelopixPython|| کانال توسعه‌دهندگان پایتون |💠 برای معکوس کردن یک رشته می‌تونید از کد بالا استفاده کنید. #Tips 💎 Channel: @DevelopixPython
هذه الرسالة
|| کانال توسعه‌دهندگان پایتون |💠 شده بخواید آیتمی رو که بیشتر از بقیه تکرار شده رو بگیرید؟ با کد بالا می‌تونید این کار رو انجام بدید. #Tips 💎 Channel: @DevelopixPython|| کانال توسعه‌دهندگان پایتون |⭕️ کمتر از ۲ هفته تا شروع دوره‌ی محبوب و تخصصی ماشین‌لرنینگ آکادمی آمانج باقی مونده! ⚠️ جای ۷نفر از شما در دوره ما خالیه! 🎁 برای اعضای پیج یه کد تخفیف ۴۰۰ هزار
|| کانال توسعه‌دهندگان پایتون || کانال توسعه‌دهندگان پایتون |@DevelopixPython · قناة · التقنية
7 646مشتركون880متوسط وصول المنشور
خلاصة المجتمع فتح في Telegram

خلاصة عامة مفتوحة من فهرس البحث ChatCrawler — «Google لـ Telegram العام»؛ تُحدَّث كلما زحفنا إلى المجتمع. الأوقات بتوقيت UTC.

محتوى عام فقط، وAPI Telegram الرسمي. عن المشروع · الأسئلة الشائعة · حدود الفهرس · إزالة صفحة · الدليل · بحث · كيف نحسب