接下來我將用幾篇文章來講述關於演算法排序的思想,首先是最簡單的氣泡排序法。它適用於所有的情況,時間複雜度較大
為o(n²)。那麼我將用圖示和**來解釋這個演算法。
首先,氣泡排序法的思想就是將最大值或者最小值置於最上方或者最下方。那麼我們需要兩個for迴圈,第乙個for迴圈中每一次迴圈的結果是將未排序的部分的最大值或者最小值找出。那麼這個迴圈中的內迴圈就是來執行這個工作的。
以圖為例,乙個具有n個數的陣列,它需要外迴圈執行多少次呢。假設這個陣列只有乙個數,顯然次數為0,不需要排序。那麼如果這個陣列有兩個數字,那麼次數為1。所以,對於乙個n個數字的陣列來說,就是需要遍歷n-1次。
那麼內迴圈呢。它的原理很簡單,查詢相鄰的兩個元素,如果發現前面的元素比後面的元素大,則交換兩個元素的值。
很顯然,對於第一次查詢最大值或者最小值。需要遍歷n-1次。那麼第二次查詢呢,就是n-2 次。
思想大概就是這些,下面的是我的**
/**
* 氣泡排序法,穩定的排序方法
* 讓小數上浮,大數下沉。每一次都會讓大數沉底,小數依次上浮
* 時間複雜度: n²
*/public int bubblesort(int array)
}} return array;
}
排序演算法 氣泡排序法
氣泡排序法 bubble sort 是所有排序演算法中最簡單,最基本的一種。氣泡排序法的基本思路就是交換排序,通過相鄰資料的比較來達到排序的目的。氣泡排序演算法通過多次比較和交換資料來實現排序,其排序流程如下 1 對陣列中的各元素依次比較相鄰元素的大小。2 如果前面的資料大於後面的資料,就交換這兩個...
演算法 氣泡排序法
氣泡排序就是把小的元素往前調或者把大的元素往後調 c語言 include define size 8 void bubble sort int a,int n void bubble sort int a,int n int main int i bubble sort number,size fo...
冒泡法排序演算法
演算法筆記 再回顧冒泡法排序 冒泡法是我們學習程式設計接觸到的第乙個排序演算法,簡單而形象,整個比對過程跟泉水冒泡十分形似。冒泡法排序首先拿第乙個元素與相鄰元素進行比較,如果它比較大,就相互交換,這樣第一輪遍歷下來,最大的值就確定了,第n輪也是如此,都是從第乙個開始,一直比較到倒數第n個,這樣最大的...