算法之自底向上的归并排序

本文介绍了自底向上的归并排序方法,与自顶向下不同,该方法从合并小数组开始,逐步归并更大的数组,通过两两、四四、八八等方式递归进行,直至完成整个数组的排序。这是一种由简入繁、由下到上的解决问题思路。
  • 基本概念

之前使用自顶向下的归并排序,我们的主要思想是将一个大问题分成一个小问题,通过解决一个一个小问题来最终完成大问题。既然我们可以通过化整为零的方式Coding,那么是不是也可以由简入繁,由下到上?
仔细一想,我们可以先归并小数组,在成对的归并得到的较小数组,通过不断往复循环,归并大的数组。简单来说,就是两两归并,四四归并,八八归并

  • 代码实现
public class MergeSort {
    private int[] temp;//初始化一个排序要用的副数组
    public static void mergeSort(int[] arr) {
        int L = arr.length;//得到参数数组长度L
        temp = new int[L];//定义数组长度

        <
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值