快速排序策略
快速排序基于分治思想。首先選定一個軸值(也稱分界點),常見選擇有數(shù)組的*個元素
q[l]
、中間元素q[l+r>>1]
(推薦此*)、或*一個元素q[r]
。接著,根據(jù)軸值將數(shù)組劃分為兩部分。然后,對這兩部分遞歸地進行快速排序。值得注意的是,快速排序在完成時,各個子問題已自然合并,無需額外合并步驟。歸并排序策略
歸并排序同樣遵循分治策略。首先確定分界點
mid = l+r>>1
,將數(shù)組分為左右兩個區(qū)間。然后,對這兩個區(qū)間分別進行遞歸排序。*,將已排序的左右區(qū)間合并起來。