归并排序

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

前面系列文章:

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

由快速排序到分治思想

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

如图

照例上代码:

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

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

判断大小

特性:

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

使用场景及优缺点:

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

使用它的使用场景

1、银行大批量数据排序

2、Excel普通排序

等等

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2018-01-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

细说反射,Java 和 Android 开发者必须跨越的坎【面试+工作】

我来翻译一下:反射技术通常被用来检测和改变应用程序在 Java 虚拟机中的行为表现。它是一个相对而言比较高级的技术,通常它应用的前提是开发者本身对于 Java ...

1194
来自专栏C/C++基础

C++中函数重载、隐藏、覆盖和重写的区别

C++规定在同一作用域中,同名函数的形式参数(指参数的个数、类型或者顺序)不同时,构成函数重载。

772
来自专栏风口上的猪的文章

.NET面试题系列[3] - C# 基础知识(1)

重要程度:10/10,身家性命般重要。通常这也是各种招聘工作的第一个要求,即“熟悉C#”的一部分。连这部分都不清楚的人,可以说根本不知道自己每天都在干什么。我们...

782
来自专栏编程

自学Python笔记(二)

作为最最基础的初学者,尤其是面对中小学生学习Python我想大概了解一下Python,能编个小程序,能看懂一般的程序就可以,如果想深一步的学习还是需要静下心来好...

1717
来自专栏Java技术栈

Java 10 实战第 1 篇:局部变量类型推断

现在 Java 9 被遗弃了直接升级到了 Java 10,之前也发过 Java 10 新特性的文章,现在是开始实战 Java 10 的时候了。

944
来自专栏lulianqi

UNICODE与ASCII

     ASCII 是用来表示英文字符的一种编码规范。每个ASCII字符占用1 个字节,因此,ASCII 编码可以表示的最大字符数是255(00H—FFH)。...

943
来自专栏较真的前端

关于数组的前端面试题,你是否都能答对?

2263
来自专栏机器学习从入门到成神

几种有关排序的常见面试问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

1012
来自专栏iKcamp

全本 | iKcamp翻译 | 《JavaScript 轻量级函数式编程》|《你不知道的JS》姊妹篇

原文地址:Functional-Light-JS 原文作者:Kyle Simpson - 《You-Dont-Know-JS》作者 本书主要探索函数式编程[1]...

25210
来自专栏java一日一条

Java有值类型吗?

有人看了我之前的文章『Swift 语言的设计错误』,问我:“你说 Java 只有引用类型(reference type),但是根据 Java 的官方文档,Jav...

742

扫码关注云+社区