نرم افزار مرتب سازی
آیا تا به حال به این فکر کرده اید که وقتی فیلترهایی مانند کم به زیاد یا زیاد به پایین یا بر اساس حروف الفبا اعمال می کنید، چگونه محصولات موجود در آمازون یا هر وب سایت تجارت الکترونیک دیگری مرتب می شوند؟ الگوریتمهای مرتبسازی برای چنین وبسایتهایی که در آنها تعداد زیادی از محصولات فهرست شده است و باید تعامل با مشتری را آسان کنید، نقش حیاتی ایفا میکنند.
یک الگوریتم مرتبسازی برای تنظیم مجدد آرایه یا فهرستی از عناصر بر اساس عملگر مقایسه روی عنصر استفاده میشود. عملگر مقایسه برای تصمیم گیری در مورد ترتیب جدید عناصر در ساختار داده مربوطه استفاده می شود. به طور عمده از پنج الگوریتم اساسی استفاده می شود و شما می توانید چندین الگوریتم را با استفاده از این الگوریتم های پایه استخراج کنید.
هر یک از این الگوریتمها دارای مزایا و معایبی هستند و بسته به اندازه دادههایی که باید مدیریت شوند، میتوان آنها را به طور موثر انتخاب کرد :
- مرتب سازی درج
- انتخاب مرتب سازی
- مرتب سازی حباب
- ادغام مرتب سازی
- مرتب سازی سریع
1. مرتب سازی درج
مرتبسازی درج یک الگوریتم مرتبسازی ساده است که مشابه روشی که شما کارتهای بازی را در دستانتان مرتب میکنید کار میکند. آرایه عملاً به یک قسمت مرتب شده و یک قسمت مرتب نشده تقسیم می شود. مقادیر از قسمت مرتب نشده انتخاب می شوند و در موقعیت صحیح در قسمت مرتب شده قرار می گیرند. مرتبسازی درج سریع و مناسب است یا زمانی که اندازه مشکل کوچک است (زیرا سربار پایینی دارد) یا زمانی که دادهها تقریبا مرتب شدهاند (زیرا تطبیقی است).
2. انتخاب مرتب سازی
الگوریتم مرتب سازی انتخاب یک آرایه را با یافتن مکرر عنصر حداقل (با در نظر گرفتن ترتیب صعودی) از قسمت مرتب نشده و قرار دادن آن در ابتدا مرتب می کند. الگوریتم دو زیرآرایه را در یک آرایه معین نگهداری می کند :
- زیرآرایه ای که قبلا مرتب شده است .
- زیرآرایه باقیمانده که مرتب نشده است .
در هر تکرار/گذر از مرتبسازی انتخابی، حداقل عنصر (با در نظر گرفتن ترتیب صعودی) از زیرآرایه مرتب نشده انتخاب شده و به زیرآرایه مرتبشده منتقل میشود. مرتبسازی انتخابی این ویژگی را دارد که تعداد تعویضها را به حداقل برساند. بنابراین زمانی که هزینه تعویض بالا باشد بهترین انتخاب است.
3. مرتب سازی حباب
مرتبسازی حبابها الگوریتم مرتبسازی است که با تعویض مکرر عناصر مجاور در صورت نامناسب بودن آنها کار میکند. پس از هر تکرار یا عبور، بزرگترین عنصر به پایان می رسد (در صورت صعودی) یا کوچکترین عنصر به پایان می رسد (در صورت ترتیب نزولی). عبور از لیست تا مرتب شدن لیست تکرار می شود. این الگوریتم برای مجموعه داده های بزرگ مناسب نیست زیرا میانگین و بدترین پیچیدگی آن در حد Ο(n^2) است که n تعداد آیتم ها است.
4.ادغام مرتب سازی
برخلاف سه الگوریتم مرتبسازی فوق، این الگوریتم مبتنی بر تکنیک تقسیم و غلبه است. آرایه ورودی را به دو نیمه تقسیم می کند، خود را برای دو نیمه فراخوانی می کند و سپس دو نیمه مرتب شده را ادغام می کند. قلب Merge Sort تابع merge() است که برای ادغام دو نیمه استفاده می شود. ادغام (A, p, q, r) یک فرآیند کلیدی است که فرض می کند A[p..q] و A[q+1..r] مرتب شده اند و دو زیر آرایه مرتب شده را در یک ادغام می کند.
Merge Sort تنها گزینه زمانی است که به مرتب سازی پایدار و O(N log N) نیاز دارید.
تابع merge().
روش ادغام همچنین به عنوان روش خارج از محل شناخته می شود
5. مرتب سازی سریع
مرتب سازی سریع نیز یک الگوریتم Divide and Conquer است. یک عنصر را به عنوان محور انتخاب می کند و آرایه داده شده را در اطراف محور انتخاب شده به گونه ای تقسیم می کند که تمام عناصر کوچکتر در سمت چپ محور و همه عناصر بزرگتر در سمت راست محور قرار گیرند. نسخه های مختلفی از QuickSort وجود دارد که pivot را به روش های مختلف انتخاب می کند :
- همیشه اولین عنصر را به عنوان محور انتخاب کنید.
- همیشه آخرین عنصر را به عنوان محور انتخاب کنید (در زیر پیاده سازی شده است).
- یک عنصر تصادفی را به عنوان محور انتخاب کنید.
میانه را به عنوان محور انتخاب کنید.
فرآیند کلیدی در مرتب سازی سریع متد ()partition است. هدف پارتیشن ها این است که یک آرایه و یک عنصر r آرایه را به عنوان محور قرار دهیم، r را در موقعیت صحیح خود در یک آرایه مرتب شده قرار دهیم و همه عناصر کوچکتر (کوچکتر از r) را قبل از r قرار دهیم، و همه عناصر بزرگتر (بزرگتر) را قرار دهیم. از r) بعد از r. همه اینها باید در زمان خطی انجام شود.
برای ورودی های کوچک، مرتب سازی سریع بهترین الگوریتم در مقایسه با مرتب سازی ادغامی است. وقتی به مرتبسازی پایدار نیاز ندارید و عملکرد متوسط بیشتر از عملکرد بدترین حالت مهم است، به سراغ مرتبسازی سریع بروید. بیایید ابتدا الگوریتم پارتیشن و اجرای آن را ببینیم
هیچ رازی برای موفقیت وجود ندارد. این نتیجه آمادگی ، کار سخت و یادگیری از شکست است.
پل تورنیر
نرم افزار مرتب سازی چابک قادر به انجام و سورت کردن تمامی مقادیر شما , با پیشرفته ترین الگوریتم میباشد . پس نیازی به تردید در انتخاب چابک برای مرتب سازی صنعت خود نکنید .
This is a useful post for finding broken links within the website, what about links pointing outwards that are broken? I can use a free web service but wondered if this was possible.
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد