归并排序算法Java

基本思想

归并排序就是递归得将原始数组递归对半分隔,直到不能再分(只剩下一个元素)后,开始从最小的数组向上归并排序。
将一个数组拆分为两个,从中间点拆开,通过递归操作来实现一层一层拆分。从左右数组中选择小的元素放入到临时空间,并移动下标到下一位置。重复步骤2直到某一下标达到尾部。将另一序列剩下的所有元素依次放入临时空间。将临时空间的数据依次放入原数据数组。

图示

分解的时候我们可以使用递归的方式进行
首先我们可以先定义三个变量,
数组的头部位置可以定义为 low,数组的尾部可以定义为high
因为每次分解都是要折半,所以我们可以定义数组的中间是 mid

 每一次递归,都是将原来的mid当成新的high,一直到low = high的时候我们就已经可以说明我们将一个数据分离了出来

 动态图片(来自网络)

 代码
public class ShellSort {

public static void main(String[] args) {
int a[

归并排序算法Java最先出现在Python成神之路

版权声明:
作者:Mr李
链接:https://www.techfm.club/p/17696.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>