內部排序演算法就是指記憶體中的排序演算法,而外部排序演算法則是指待排序資料過多,無法一次性載入到記憶體中,排序過程需要讀取磁碟,因此需要考慮磁碟 io 的消耗!
內部排序演算法按照操作型別可大致分為五類:①插入排序;②交換排序;③選擇排序;④歸併排序;⑤計數排序;
內部排序演算法按照時間複雜度可大致分為三類:
簡單排序方法,時間複雜度:o(n^2)
先進排序方法,時間複雜度:o(nlogn)
基數排序,時間複雜度:o(d * n)
插入排序又可細分為以下三類:
直接插入排序(straight insertion sort):將乙個記錄插入到已排好序的有序表中,從而得到乙個新的記錄數增 1 的有序表;
折半插入排序(binary insertion sort):在直接插入排序演算法上加上折半查詢思維來優化;
2-路插入排序:
希爾排序(shell's sort),又稱縮小增量排序(diminishing increment sort):
內部排序演算法
內部排序是指待排序列完全存放在記憶體中所進行的排序過程,適合不太大的元素序列。1.快速排序int partition int a,int low,int high a low a high while low2.並歸排序 void merging int list1,int list1 size,i...
內部排序演算法 選擇排序
選擇排序法可使用兩種方式排序 從小到大或從大到小 例如 當n個資料需要由大至小排序時,首先將第乙個位置的資料依次和第2 3 4 n個位置的資料進行比較。如果資料大於或等於其中乙個位置,則不變 若小於其中乙個位置的資料,則兩個位置的資料互換。互換後第1個位置的資料繼續與後續位置的資料進行比較,直到位置...
排序演算法(內部排序)總結
排序是計算機應用中的乙個非常重要的操作。平常我們總會聽到一些演算法,但是我們總是似懂非懂的寫著 今天我將一般常見的排序演算法進行乙個總結。本次總結只涉及內部排序 所謂內部排序是指在記憶體中進行的排序 首先說乙個概念 穩定排序與非穩定排序 如果乙個序列中原來相同的元素,排序完成後,仍然保持著原來的順序...