如果感覺太枯燥的話,可以重點記排序分為那幾大類,那類有幾種排序方法和比較次數!
首先我沒有明白排序技術是幹嘛的?還需技術是将一個個無序的序列整理為一個有序非遞減順序排列的序列。
排序的方式有交換類排序法,插入類排序法和選擇類排序法三大類。
交換排序法是借助數據元素的“交換”來進行排序的。分為冒泡排序和快速排序。
冒泡排序以數據中的某個元素為參考點,在它後面并小于它的元素稱為逆序,然後冒泡排序思想就是兩個元素比較和交換,不斷消除逆序,直到數據有序。線性表最壞情況下比較次數n(n-1)/2(n為數據長度)。
快速排序的思想是在待排序的元素中選一個元素(往往第一個),然後以元素為分割标準,把大于它的都移它前面,小于它的放它後面,這樣分為兩個表稱為子表,再在子表中重複如上。值得元素為1,完成排序。線性表最壞情況比較n(n-1)/2,但效率比冒泡排序快的多。
插入排序法是将每次排序的元素按其值的大小插入到已經排好的子表中,直到元素全部插入。有簡單排序和希爾排序兩種。
簡單排序法就是所有待排序的元素n分為兩個表,一個有序表,一個無序表,第一開始有序表就一個元素,無序表有n-1個,然後在無序表中取一個元素,正确的排在有序表中,重複如上,直到無序表無元素。最壞的比較次數n(n-1)/2。
希爾排序法是先取一個整數(稱為增量)d<n,把全部元素分為d個組,把所有距離為d的倍數的元素放在一個組,然後簡單插入排序。最壞的比較次數n的r次方(1<r<2)。
選擇類排序法就是從待排序中選出最小元素,順序放在已排好的有序子表後,直到全部序列滿足排序要求為止。分為簡單選擇排序法和堆排序法。
簡單選擇排序就是在所有元素中找出最小的與第一個交換,在從n-1的找出最小的與第二個交換,直到所有元素有序為止。最壞比較次數n(n-1)/2。
堆排序法就是将所有元素n按順序組成一個完全二叉樹 當僅且滿足下列條件稱為堆。
①稱為大根堆,所有節點都大于或等于左右子節點;②稱為小根堆,所有節點都小于或等于左右子節點。
堆排序最壞情況比較次數nlog2的n次比較。
有什麼不明白的,歡迎來撩,一同進步。
圖片來自網上和軟件,如有侵權,請聯系删除!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!