Algorithms - Merging Sort
Posted zdfffg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Algorithms - Merging Sort相关的知识,希望对你有一定的参考价值。
以下示例参考自这里。
迭代法(Bottom-up)
- 将序列每相邻两个数字进行归并操作,形成 {displaystyle ceil(n/2)} {displaystyle ceil(n/2)}个序列,排序后每个序列包含两/一个元素
- 若此时序列数不是1个则将上述序列再次归并,形成 {displaystyle ceil(n/4)} {displaystyle ceil(n/4)}个序列,每个序列包含四/三个元素
- 重复步骤2,直到所有元素排序完毕,即序列数为1
递归法
- 申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列
- 设定两个指针,最初位置分别为两个已经排序序列的起始位置
- 比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置
- 重复步骤3直到某一指针到达序列尾
- 将另一序列剩下的所有元素直接复制到合并序列尾
以上是关于Algorithms - Merging Sort的主要内容,如果未能解决你的问题,请参考以下文章
FZU 1919 -- K-way Merging sort(记忆化搜索)
FZU Problem 1919 K-way Merging sort(大数+记忆化搜索)
Algorithms - Insertion Sort - 插入排序
[Algorithms] Sort an Array with a Nested for Loop using Insertion Sort in JavaScript