【经典排序算法】归并排序(动图演示 + C 语言代码实现)

本文介绍了归并排序的排序思想,通过动图直观展示排序过程,并提供了C语言的代码实现。归并排序采用分治策略,将数组均分为两半,分别排序后再合并,保证了排序的稳定性,其时间复杂度为O(nlogn),空间复杂度为O(n)。
摘要由CSDN通过智能技术生成

【经典排序算法】归并排序(动图演示 + C 语言代码实现)

  👩‍💻 👉 【经典排序算法】十大经典排序算法汇总篇


1、动图演示

在这里插入图片描述


2、排序思想

  基本思想: 把一个区间看成平均切割的两个小区间,假如左右两个小区间各自有序,左右两个小区间不一定有序,所以分治左右两个小区间直到 size == 0 || size == 1(有序), 合并两个有序数组。

  (1) 平均分割区间
  (2) 分支处理左右两个小区间 直到 size == 0 || size == 1
  (3) 合并左右两个有序数组

  先对区间进行均分,均分成左右两半侧,递归排左半侧,递归排右半侧,将左右两半侧归并起来。归并是指将两个有序区间合并成一个有序区间。


3、时间/空间复杂度

  时间复杂度: O ( n log ⁡ n ) O(n\log_n) O(nlogn

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值