演算法探索 交換排序演算法 氣泡排序 快速排序

2021-09-25 03:02:56 字數 832 閱讀 9248

常用的排序演算法分為

交換排序 ( 氣泡排序 / 快速排序 )   

插入排序 ( 簡單插入排序 / 希爾排序 )    

選擇排序 ( 簡單選擇排序 / 堆排序 )   

歸併排序    

基數排序 ( 桶排序 )    

交換排序顧名思義,就是陣列中的元素通過互相交換實現排序

大致思想:

將陣列遍歷,第乙個元素和第二個元素比較,誰大誰放後面,然後第二個元素和第三個元素比較,以此類推

也就是說,第一次遍歷,將最大的數放到了最後, 第二次遍歷,將第二大的數放到了次最後.以此類推

public static void bubble(int array) 

int length = array.length;

//外層:需要length-1次迴圈比較

for (int i = 0; i < length - 1; i++)

}}

大致思想:

分別將陣列裡面的元素作為參照

然後依次拿參照從陣列的前後兩端開始往返對比,然後 (前-後)的大於參照的值  和 (後-前)的小於參照的值相交換;

private static void speediness(int array,int start,int end)

}array[start]=array[i];//交換i處元素和基元

array[i]=key;

speediness(array, start, i-1);//遞迴呼叫

speediness(array, i+1, end);

}}

排序演算法 交換排序之冒泡

一 主要思想 顧名思義,交換排序的主要操作是交換,其主要思想是在待排序列中選兩個記錄,將它們的關鍵碼相比較,如果反序 即排列順序與排序後的次序正好相反 則交換它們的儲存位置。二 需要解決的關鍵問題 1 在一趟起泡排序中,若有多個紀錄位於最終位,應如何記載 解決方法 設定變數 exchange 記載記...

排序演算法 五 氣泡排序(交換排序)

氣泡排序屬於交換排序 基本思想 在待排序數列中,自上而下對相鄰的兩個元素進行比較和調整,小的上冒,大的下沉 時間複雜度 最好情況 正序有序,只需比較n次,o n 最壞情況 反序有序,需要比較 n 1 n 2 1次,故o n n 穩定性 穩定 示例 bubble sort.py def bubble ...

排序演算法 交換排序(氣泡排序 快速排序)

交換排序 利用交換資料元素位置的方法進行排序的方法 基本思想 將序列中第乙個記錄與第二個記錄比較,若前乙個大於後乙個,則交換位置。然後比較第二個和第三個,第三個和第四個,以此類推,一輪之後,序列中最大的元素就到了序列最後的位置上。繼續進行第2輪,第3輪,第n 1輪。若其中某一輪途中沒有元素交換,則證...