二路归并排序是什么?

 我来答
热爱三农DO
2022-02-13 · TA获得超过1438个赞
知道小有建树答主
回答量:1280
采纳率:100%
帮助的人:20.9万
展开全部

二路归并排序是:假设初始序列中含有N个记录,则可以看成N个有序的子序列,每个子序列的长度为一,然后两两归并,得到[N/2](表示不小于N/2的最小整数)个长度为2或者1的有序子序列:再两两归并,如此重复,直到得到一个长度为N的有序子序列为止,称为2路归并排序(Merge Sort)。

归并排序的步骤

1、将给定的序列,从中间分成两个子序列,然后再将子序列以同样的方式拆分子序列,直到子序列长度为1,也就是称为有序序列。

2、申请额外的空间,为两个子序列长度和,用于存放合并后的序列。然后设定两个指针分别指向两个有序子序列的起始位置,然后比较两个指针指向元素的大小,将较小的元素放入合并空间,并移动指向该元素的指针,另外一个子序列的指针不变,然后继续比较两个指针指向元素的大小,直到两个有序子序列中的值全部放入合并空间中。

3、自下而上的合并所有的子序列,直到合并完所有的子序列之后,合并空间中的序列即为有序序列。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式