JAVA中的排序演算法

2021-09-01 10:56:16 字數 619 閱讀 9337

[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 最簡單的排序方法是氣泡排序方法。這種方法的基本思想是,將待排序的元素看作是豎著排列的 氣泡 較小的元素比較輕,從而要往上浮。在氣泡排序演算法中我們要對這個 氣泡 序列處理若干遍。所謂一遍處理,就是自底向上檢查一遍這個序列,並時刻注意兩個相鄰的元素的順序是否正確。...