算法基础:归并排序

算法是基础,小蓝同学准备些总结一系列算法分享给大家,这是第三篇《归并排序》,非常赞!希望对大家有帮助,大家会喜欢!前面系列文章:

#算法基础#选择和插入排序

由快速排序到分治思想

归并排序也是分治思想的一个案例,他将一个数组分成两个数组,分别按上面的再次细分进行排序,这两个数组最后合并到一个数组内,并同时排序这就得到一个有序的归并数组。(归并实现代码有彩蛋哦)

如图

算法基础:归并排序

照例上代码:

1、排序方法 a为数组 i为数组开头 j为数组结尾

算法基础:归并排序

2、归并方法 传数组数组开头序数中间数数组结尾序数

算法基础:归并排序

判断大小

算法基础:归并排序

特性:

多索引稳定 时间复杂度NLogN 空间复杂度 N

使用场景及优缺点:

我们从他的特性可以推断出他的使用场景,归并排序和快速排序比起来更慢一点,但他的优点在于多索引的稳定性。

使用它的使用场景

1、银行大批量数据排序

2、Excel普通排序

等等


分享到:


相關文章: