پیوند ها
دانلود پاورپوینت Merge Sort با فرمت ppt ودر 54 اسلاید قابل ویرایش
قسمتی از متن پاورپوینت Merge Sort
Overview:
نكات:تعداد آرايه ها يا ليست هاي تك عضوي همان تعداد اوليه ي نودها يا اعضاي آرايه هستند .
طول ليست يا آرايه ي اوليه را Nدر نظر بگيريد.
به جاي آرايه ليست به كار مي بريم .
زيرليست هاي مرتب ديگري بدست مي آوريم .
Class Element
{
Private:
int key;
Field other;
int link;
public:
Element( ){link=0;};
};
ادغام دو ليست مرتب:
Initlist[l],…,initlist[m] initlist[m+1],…,initlist[n]
دو ليست مرتب شده از نوع Elementهستند، به طوري كه:
Initlist [l].key≤…≤ initlist [m].key
Initlist[m+1].key ≤…≤ initlist [n].key
در تابع Mergeاين دو ليست مرتب با يكديگر ادغام مي شوندو
تابع مرتب شده ي جديدي به نام MergedList ايجاد مي شود.
Merge Algorithm:
void merge(Element *initList,Element *mergedList,
constintl,constintm,constintn)
{
for(int i1=l,iResult=l,i2=m+1;i1<=m&&i2<=n;iResult ++)
if(initlist[i1].getkey()<=initlidt[i2].getkey()){
mergedList[iResult]=initList[i1];
i1++;}
else{
mergedList[iResult]=initList[i2];
i2++;}
if(i1>m)
for(int t=i2;t<=n;t++)
mergedList[iResult+t-i2]=initList[t];
else
for(intt=i1;t<=m;t++)
mergedList[iResult+t-i1]=initList[t];
}
تجزيه و تحليل تابع Merge:
مي يابد.كل افزايش iResult،n-l+1است.از اين روحلقه for
حد اكثر n-l+1بار تكرار مي شود.دستور ifحداكثر در هر
تكرار،يك ركورد را جابه جا مي كند.از اين رو كل زمان اجرا
o(n-l+1) است.
مرتب سازي ادغام به صورت تكرار (غير بازگشتي )
دراين نسخه ورودي n ليست به طول 1است.اين ليست ها دوبه دوبا هم ادغام مي شوند تا n/2 ليست كه طول هر يك از آن ها 1 است به دست آيد (اگر n فرد باشد آنگاه يك ليست به طول 1 داريم). اين n/2 ليست دوبه دو با هم ادغام مي شوند و اين فرايند تا آنجا ادامه مي يابد كه در انتها به يك ليست برسيم.
در اسلايد بعدي اين فرايند نشان داده شده است.
MergePass Function
مبلغ قابل پرداخت 21,200 تومان