[b][color=red]1.交換排序[/color][/b]
交換排序的基本思想是:兩兩比較待排序記錄,發現兩個記錄的次序相反時即進行交換,直到沒有反序的記錄為止。
應用交換排序的方法有:氣泡排序,快速排序。
氣泡排序:
最好時間複雜度為:o(n)
最壞時間複雜度為:o(n2)
平均時間複雜度為:o(n2)
穩定性:就地排序,且是穩定的
/*** 氣泡排序
* 特徵:第一次外迴圈得到最大(小)的值,第二次外迴圈得到次大(小)的值.......
* 若在某一趟排序中未發現氣泡位置的交換,則說明已排好序,因此可終止迴圈繼續向下執行。
* 引入布林型變數exchange,排序開始前將其置為false,若排序過程中發生了交換,則將其置為true。
* 各趟排序結束時檢查exchange,若為false,則終止演算法。
*/public static void bubblesort(int source)
}if(!exchange)}}
快速排序:
Java中的排序演算法
一 氣泡排序 原理 比較兩個相鄰的元素,將值大 小 的元素排到最右端 思路 依次比較相鄰的兩個數,如果按照公升序排列,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,...
java中的排序演算法 堆排序
利用堆這種資料結構設計的一種排序演算法。堆是乙個近似完全二叉 樹的結構,並同時滿足堆的性質 子節點的鍵值或索引總是小於 或大於 它的父節點。對於大 小 頂堆而言,堆頂元素的權值 大 小 堆排序是乙個非常穩定的演算法,對於堆排序而言,數 據的初始順序對它的複雜度並沒有影響。原理 將待排序的數組建堆,然...
Java中的經典排序演算法
1 氣泡排序 bubble sort 最簡單的排序方法是氣泡排序方法。這種方法的基本思想是,將待排序的元素看作是豎著排列的 氣泡 較小的元素比較輕,從而要往上浮。在氣泡排序演算法中我們要對這個 氣泡 序列處理若干遍。所謂一遍處理,就是自底向上檢查一遍這個序列,並時刻注意兩個相鄰的元素的順序是否正確。...