前言
当前系列:数据结构系列
源代码 git 仓库 ‘
数据结构代码地址 代码Git 仓库地址
目录
前言
归并排序
基本思想:
拆分子序列
合并相邻有序子序列
动态图
思路实现
速度测试
归并排序...基本思想:
拆分子序列
将数组递归拆分成最小子序列,之后分组排序
合并相邻有序子序列
再来看看治阶段,我们需要将两个已经有序的子序列合并成一个有序序列,比如上图中的最后一次合并,要将
[4,5,7,8...]和[1,2,3,6]两个已经有序的子序列,合并为最终序列[1,2,3,4,5,6,7,8]
动态图
思路实现
给你一个数组, val arr = Array(8, 4, 5, 7, 1, 3,...temp数组
//直到左右两边的有序序列,有一边处理完毕为止
while (i <= mid && j <= right) {//继续
//如果左边的有序序列的当前元素...,
可以很稳定,两秒左右,同样是排序,思想不同带来的优化肉眼可见的,以上就是归并排序的内容啦