演算法筆記–再回顧冒泡法排序
冒泡法是我們學習程式設計接觸到的第乙個排序演算法,簡單而形象,整個比對過程跟泉水冒泡十分形似。冒泡法排序首先拿第乙個元素與相鄰元素進行比較,如果它比較大,就相互交換,這樣第一輪遍歷下來,最大的值就確定了,第n輪也是如此,都是從第乙個開始,一直比較到倒數第n個,這樣最大的n個就排好了。
解題:用乙個陣列來表示元素集合
拿第乙個元素與相鄰的元素相比,迴圈遍歷到陣列最後,確定最大值
拿第乙個元素與相鄰的元素相比,迴圈遍歷到陣列倒數第二個,確定次大值
迴圈遍歷直至陣列完全排序
時間複雜程度:
案例實踐
public
class
bubblesort
;// sort(a);
sortoptimize
(a);
for(
int i =
0; i < a.length; i++)}
private
static
void
sort
(int arr)
k++;}
}system
.out.
println
("冒泡法迴圈的次數: "
+ k);}
/** * 冒泡法優化,對於已經排序好的資料可以明顯減少迴圈此時
* @param arr
*/private
static
void
sortoptimize
(int arr)
k++;}
if(!change)
}system
.out.
println
("優化冒泡法迴圈的次數: "
+ k);}
}
演算法 氣泡排序法
氣泡排序就是把小的元素往前調或者把大的元素往後調 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...
排序演算法 氣泡排序法
氣泡排序法 bubble sort 是所有排序演算法中最簡單,最基本的一種。氣泡排序法的基本思路就是交換排序,通過相鄰資料的比較來達到排序的目的。氣泡排序演算法通過多次比較和交換資料來實現排序,其排序流程如下 1 對陣列中的各元素依次比較相鄰元素的大小。2 如果前面的資料大於後面的資料,就交換這兩個...
演算法排序 氣泡排序法
接下來我將用幾篇文章來講述關於演算法排序的思想,首先是最簡單的氣泡排序法。它適用於所有的情況,時間複雜度較大 為o n 那麼我將用圖示和 來解釋這個演算法。首先,氣泡排序法的思想就是將最大值或者最小值置於最上方或者最下方。那麼我們需要兩個for迴圈,第乙個for迴圈中每一次迴圈的結果是將未排序的部分...