1. 程式人生 > >分治算法 ------二分歸並排序

分治算法 ------二分歸並排序

分治算法 數組 子數組 ima 獨立 bsp 兩個 二分 step

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.

解的方法我還不會。到時候再說。

代碼稍後添加。

分治算法 ------二分歸並排序