第 25 题:如何理解归并排序?

Posted Noxus丶SJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第 25 题:如何理解归并排序?相关的知识,希望对你有一定的参考价值。

什么是归并排序?

把长度为 n 的输入序列分成两个长度为 n/2 的子序列;

对这两个子序列分别采用归并排序;

将两个排序好的子序列合并成一个最终的排序序列。

<img src="https://noxussj.top:3000/25/1.png"></img>

总的来说就是先拆分,后合并,合并的同时进行排序

栗子

归并排序就像一场比武大赛

举个例子,有 A、B、C、D、E、F、G、H 一共 8 个武术家参考参加比武大会。

第一轮,两两一组,有 4 名选手胜出(四分之一决赛)

第二轮,两两一组,有两名选手胜出(半决赛)

第三轮,仅剩的两人一组,冠军胜出(总决赛)

<img src="https://noxussj.top:3000/25/2.png"></img>

算法描述

<img src="https://noxussj.top:3000/25/3.gif"></img>

参考资料
值得收藏的十大经典排序算法
什么是归并排序?
归并排序详解

文章的内容/灵感都从下方内容中借鉴

  • 【持续维护/更新 500+前端面试题/笔记】https://github.com/noxussj/In...
  • 【大数据可视化图表插件】https://www.npmjs.com/package...
  • 【利用 THREE.JS 实现 3D 城市建模(珠海市)】https://3d.noxussj.top/

以上是关于第 25 题:如何理解归并排序?的主要内容,如果未能解决你的问题,请参考以下文章

归并排序和快速排序

刷题方法:多路归并

算法练习--归并排序排列题

案例7-1.2 插入排序还是归并排序 (25分)

归并排序模板题

《算法零基础100讲》(第36讲) 排序进阶 - 归并排序