Merge Sort
2
mergesort_algoritihm(ub,lb,n,a[],temp[],j) step 1 set ub=n-1; lb=0; mid=(ub+lb)/2; step 2 if (ub=lb) return ; step 3 dismantle(a[],lb,mid) dismantle(a[],mid+1,ub) mergesort(a[],lb,mid,ub) step 4 return } dismantle(a[],lbound,ubound) { step 1 if lbound=ubound return; step 2 set mid=(ubound+lbound)/2; dismantle(a[],lbound,mid) dismantle(a[],mid+1,lbound) merge(a[],lbound,mid,ubound); step 3 return; } merge(a[],lbound,mid,ubound) { step 1 lb=lbound; ub=mid+1; j=lbound; if ub=lb return step 2 while(lb=<mid&&ub<=ubound) { if a[lb]<a[ub] { set temp[j]=a[lb] j=j++; lb=lb++;
-
Upload
himanshu-gaur -
Category
Documents
-
view
214 -
download
0
description
provides a pseudo code for implementation of merge sorting.
Transcript of Merge Sort
mergesort_algoritihm(ub,lb,n,a[],temp[],j)step 1setub=n-1;lb=0;mid=(ub+lb)/2;
step 2if (ub=lb)return ;
step 3dismantle(a[],lb,mid)dismantle(a[],mid+1,ub)mergesort(a[],lb,mid,ub)
step 4return}
dismantle(a[],lbound,ubound){step 1if lbound=uboundreturn;
step 2setmid=(ubound+lbound)/2;
dismantle(a[],lbound,mid)dismantle(a[],mid+1,lbound)merge(a[],lbound,mid,ubound);
step 3return;}
merge(a[],lbound,mid,ubound){step 1lb=lbound;ub=mid+1;j=lbound;if ub=lbreturn
step 2while(lb=<mid&&ub<=ubound){if a[lb]<a[ub]{settemp[j]=a[lb]j=j++;lb=lb++;
}
else{settemp[j]=a[ub]j=j++ub=ub++}
}while(lb<=mid){settemp[j]=a[lb]j=j++;lb=lb++;}
while(ub<=ubound){temp[j]=a[ub]j=j++ub=ub++}}