排序-归并排序

归并排序的分析

      归并排序本质上用的就是分治法。分治:分而治理
1、先对需要排序的数据进行分组,一般是等分,即➗2进行分成为子数组。
2、分完每一组以后,看子组是否可以继续分,如果可以的话重复1的步骤继续对子数组进行划分,直到分的组只有一个数据的时候就不划分了。
3、将分到不能再分的组,进行有序的整合。每整合一个子组的顺序以后就返回给上一个父祖,然后一层层返回(本质上其实就是递归)
在这里插入图片描述

部分代码解析— 分

1、确定要分的组,即其的范围是多少,数组需要排序的范围

   /*
      对数组a中的元素进行排序
     */
    public static void sort(Integer[] a){
   
        //初始化
        assist =new Integer[a.length];
        int lo=0;
        int hi=a.length-1;
        sort(a,lo,hi);
    }

2、然后将需要进行排序的组进行一个分组,注意:是要➗2进行等分,即取中间值确定需要排序的范围。分好左右以后,就需要进行归并即整合治理,将每一组不停的迭代往上,进行排序好


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值