JavaScript 算法:合併排序
合併排序是一種使用「分治法」概念的排序算法。 給定一個數組,我們首先將其分為兩個數組。 然後我們遞歸執行此操作,直到獲得只有一個元素的數組。 然後,我們從頭開始構建有序數組,通過對獲得的個別元素進行排序。 假設我們的數組是: [4, 3, 1, 2] 我們首先將數組分成兩個: [4, 3] [1, 2] 然後我們遞歸地分割這些數組: [4] [3] 和 [1] [2] 然後,通過首先對這些元素對進行排序,我們開始構建結果: [3, 4] [1, 2] 然後我們將這兩個數組合併: [1, 2, 3, 4] 讓我們再舉一個具有更多項的數組的例子,這次使用字母: ['e', 'g', 'a', 'd', 'f', 'c', 'b'] 我們將數組分成兩部分: ['e', 'g', 'a'] ['d', 'f', 'c', 'b'] 然後我們將第一個數組再分成兩部分: ['e'] ['g', 'a'] 然後分割第二個結果: ['g'] ['a'] 我們現在取原始數組的第二部分,再分成兩個: ['d', 'f'] ['c', 'b'] 我們分割兩個項目: ['d'] ['f'] ['c'] ['b'] 現在,我們有一系列只有一個元素的數組: ['e'] ['g'] ['a'] ['d'] ['f'] ['c'] ['b'] 現在,我們將它們按成對排序:...