简述二路归并排序,并分析其算法复杂性.

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 14:02:49

简述二路归并排序,并分析其算法复杂性.
简述二路归并排序,并分析其算法复杂性.

简述二路归并排序,并分析其算法复杂性.
二路归并,就是将两个有序序列,合并为一个有序的序列
而排序最初是一个无序序列,此时就要将其分解为两个有序序列
这里就用到一个递归的思想
即:将该算法截为两段,对前后两段应用该算法均可得到一个有序序列,这是就有了两个有序序列,再使用该算法就最终得到一个有序序列
而递归终点是当分段内只有一个元素时,显然就是有序序列了,就可以返回
具体的代码为:
void Merge(int r[],int r1[],int s,int m,int t)//二路归并
{
int i=s,j=m+1,k = s;
while(i