分治算法 ------二分归并排序

Posted JoeLee2017

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分治算法 ------二分归并排序相关的知识,希望对你有一定的参考价值。

https://www.youtube.com/watch?v=EMw1rwQmD3w&index=27&list=PLvdLBjhf_tgqq0ESrSd4rH8bXLmOlxN2J

二分归并排序

 

选择中间的数,把数组对半划分。分别对 子问题1  和 子问题2 进行排序,最后把这两个排好序的问题 综合到一个问题。

因此,二分归并排序也涉及到三个问题:

Step1: 把大问题归约成 规模较小的子问题  。

Step2: 把子问题独立求解的过程。

Step3: 把所有子问题 综合解的过程。

 

时间复杂度的分析

 

 

2W(n/2)的意思就是: 把规模为n的问题 分成  规模为 n/2的子问题。这是两个子问题的工作量。

n-1: 两个排好序的子数组合并成整体的工作量。

W(1)=0,是说 规模为1 的工作量是0.

解的方法我还不会。到时候再说。

 

代码稍后添加。

 

以上是关于分治算法 ------二分归并排序的主要内容,如果未能解决你的问题,请参考以下文章

五大常用算法一文搞懂分治算法

算法系列之常用算法之一----分治算法

python_分治算法贪心算法动态规划算法

分治算法与汉诺塔问题的详解

如何快速正确的写出各种分治算法的实现代码

分治算法练习