تبلیغات


الگوریتم های مرتب سازی : مفهوم مرتب سازی

اشتراک گذاری
Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestPrint this pageEmail this to someone

sort_it_logo_cmykConverted

الگوریتم های مرتب سازی بخش خیلی مهمی از  برنامه ها رو انجام می دهند و نقش مهمی را را در آموزش الگوریتم به مبتدیان دارند به همین علت تصمیم گرفتیم تعدادی از این الگوریتم ها را که پر کاربرد تر و جالب تر هستند معرفی کنیم :

– bubble-sort

– insertion-sort

– merge-sort

– Quick-sort

Counting Sort

– Heap-sort

– Introsort

– Distribution sorts

– Concurrent sorts

در این پست ما به معرفی  یک الگوریتم مرتب سازی-sort  ساده  می پردازیم که از مشهور ترین و ساده ترین الگوریتم های مرتب سازی است  و پیاده سازی و درک آن آسان است .

مرتب سازی یعنی این که یک گروه از اطلاعات را بر اساس یکی از شاخص هایش از بزرگ به کوچک یا بر عکس بنویسیم.

این  هم کد تابع  مرتب سازی – sort  است که دو آرگومان دارد یکی آرایه و دیگری طول آرایه :

همین طور که در کد بالا می بینید دو حلقه for داریم که هر کدام مخصوص یک counter هستند اولی i  را جلو می برد و به علاوه یک می کند و بعدی j  را جلو می برد ، در این مرتب سازی  خانه  i  ام آرایه در نظر گرفته می شود و با خانه های بعدی خود که همان خانه های  j ام هستند مقایسه می شوند اگر خانه i  ام بزرگ تر از خانه j ام بود مقدار خانه i ام با مقدار خانه j  ام عوض می شود.

فرض کنید آرایه ای  A  به طول ۵ و اعضای زیر را داریم اگر مرتب سازی را انجام دهیم مرحله به مرحله این گونه پیش می رود :

 

A[5]= {8,5,6,1,4}

۸  ۵  ۶  ۱  ۴

۵  ۸  ۶  ۱  ۴

۱  ۸   ۶  ۵  ۴

۱  ۶  ۸  ۵  ۴

۱   ۵  ۸  ۶  ۴

۱  ۴  ۸  ۶  ۵

۱  ۴  ۶   ۸  ۵

۱  ۴  ۵  ۸  ۶

۱  ۴  ۵  ۶  ۸

در زیر تابع مرتب سازی – sort را می بینید که در main برنامه برای مثال یک آرایه داده ایم که sort – مرتب می کند و آرایه را قبل و بعد از مرتب سازی نشان می دهد:

 

هزینه ی این الگوریتم برابر این

 

O(N^2)

می شود.

تشکر از این که ما را دنبال می کنید.


تبلیغات:

۷ دیدگاه

نظر خود را بنویسید.

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *