The cost distribution of queue-mergesort, optimal mergesorts, and power-of-two rules
Queue-Mergesort
Bottom-up Mergesort
表示排序 個元素最少需要做幾次比較,這項指標對排序演算法的效能影響最大。 Divide-and-conquer 演算法幾乎都存在週期性現象, merge sort 也不例外。該論文首先定義 這三個參數表示 top-down mergesort 在 best case, worst case 與 average case 所需要的比較次數。 還可以因為其週期性性質而歸納出以下公式 其中 ,因此上式展開後可得 不過我不理解此處為何能清楚展現 mergesort 的週期特性,同時對於 best case 來說 即是 的 population count ,這篇論文主要是想要推導出對於 bottom-up mergesort 的 closed form 公式,也就是 。
首先推導 best case 也就是 , best cases 發生在每個合併過程都是最佳也就是 時,因此對於 complete merge 來說總比較次數是 ,因為 complete merge 在第 層進行 次 的合併, 。然後進行 次 incomplete merge ,總共會是 。 同時根據 Trollope-Delange formula 可以得出 因此可以推導出以下 (看不出如何推導的) 將 做圖可看出他的週期特性。
worst case 則是每次合併都使用到 次比較,可以推得 為 其中 為 trailing zeros ,其中 linear term 是 做圖後也可看出他的週期特性。 Average case 則是透過加總每個合併的比較次數期望值,同樣可以在 linear term 發現週期特性。
Bottom-up mergesort v.s. Top-down mergesort
兩者在 best case 當中比較次數會相同,但 worst case 和 average case 皆是 top-down mergesort 比較次數更少,並且可以證明 top-down mergesort 的 splitting strategy 使得它在 worst case 和 average case 上都表現得比其他 mergesort 變形更好。只有當 為二的指數時, 兩種演算法在 worst case 上的表現才會相同。
Best case 假設 Best case 的成本是 ,合併成本 為以下 則是可推得 可得 ,其中 代表 的二進位表示法的 sum-of-digits ,推得以下。
Average case 假設 n 個元素的 種排列方式出現的機率完全相同,用 代表隨機排列下 Queue Mergesort 所需的比較次數
Theorem 1. The average number of comparisons used by QM to sort a random permutation of n elements 滿足 其中 , 在 之間震盪
Asymptotic Normality
假設 是 的 probability generating function ,則 滿足 假設 是 two-way linear merge algorithm for mergin two sorted files of sizes ,且 是它的 probability generating function ,則
Theorem 3. The distribution function of the random variable is asymptotically normal
Invariance Principle for power-of-2 recurrence
其中 ,所以 並非特別的數字。
Invariance principle 假設 滿足上述遞迴式,且 ,則 iff 且
對於將 floor function 替換成 ceil function ,同樣的結論也適用,而此時 。
Lemma 8. if then the solution to the recurrence satisfies
Optimal Mergesorts
Average case 我們要找到滿足下列遞迴式並使其最小化的 index 目標是找到 j 使得 最小化,結果會是 是最佳解,也就是發生在 top-down mergesort 時。