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