【編程筆記】快速排序
2023-01-02 14:36 作者:夕弦-Yamai_Yuzuru | 我要投稿

快速排序的基本思路
以待排序列中的任意一個元素(例如取第一個)為中心,將所有較小(或相等)的元素放在它的前面,將所有較大的元素放在它的后面,形成左右子表;
然后重新選擇每個子表的中心元素,按照這個規(guī)則進(jìn)行調(diào)整,直到每個子表只有一個元素。至此,它便是一個有序的序列。
快速排序體現(xiàn)了分而治之的思想(分治法)。
優(yōu)點:速度快,每趟可以確定不止一個元素的位置,而且呈指數(shù)增加。
前提:順序存儲結(jié)構(gòu)
若待排記錄的初始狀態(tài)為按關(guān)鍵字有序時,快速排序?qū)⑼懟癁槊芭菖判?,最壞時間復(fù)雜度為O(),最好時間復(fù)雜度為O(
)。
快速排序是一種不穩(wěn)定的排序方法。

快速排序的過程

1.找到分界點x(諸如q[L],q[(L+R)/2],q[R]都行)
2.使左邊所有數(shù)L<=X,右邊所有數(shù)R>=X(和X相等的數(shù)在左右兩邊都有可能)
3.遞歸排序禮L,遞歸排序R

祝大家元旦節(jié)快樂!

夕弦的圖片由NovelAI生成,使用的模型以up主紅心咖啡_Official的八舞模型為基底,并做了一定的更改訓(xùn)練
標(biāo)簽: