氣泡排序改進與總結

2021-06-25 22:50:23 字數 445 閱讀 4348

(5)改進的氣泡排序:

/*從小到大排序;

*/void bubblesort(int *array ,int n)

if(0==exchange) return ;

//如果某遍沒有交換,說明已經排序好。}}

(6)氣泡排序的穩定性:

如果將array[j](7)陣列的初始順序對冒泡的影響:

如果初始陣列就是從小到大的順序,則氣泡排序的比較次數為n-1次,移動次數為0次,總的時間複雜度為o(n);

如果初始陣列是從大到小的,則時間複雜度為o(n^2);

(8)起始陣列有序時,氣泡排序和插入排序:

如果初始陣列中所有元素時完全有序,則插入排序和氣泡排序的時間複雜度均為o(n);

如果初始陣列中所有元素時基本有序(部分逆序),這是插入排序比氣泡排序更加好,差別主要在元素的移動上面,因為氣泡排序的交換資料更浪費時間。

氣泡排序 改進

氣泡排序是最簡單的排序演算法之一,在這裡首先要說明的是乙個要注意的地方。氣泡排序在最好情況下時間複雜度可以是o n 2 也可以是o n 下面看一種大家看得最多的寫法 public void bubblesort int arr 上面這樣寫最好情況下也是o n 2 那麼再來看下面這種寫法 public...

排序演算法 氣泡排序(改進)

假如我們運氣好,用了1輪就已經將整個序列排序好了,整個數列已然是有序的了。可是我們的排序演算法仍然 兢兢業業 地繼續執行第2輪 第3輪 直至n 1輪,這就很沒必要。也就是說如果序列已經有序,每一輪排序還是會繼續比較相鄰的元素,這就相當於做了一些沒用的操作。這種情況下,如果我們能判斷出數列已經有序,並...

氣泡排序及其改進

1.排序思想 氣泡排序也是非常簡單的排序演算法,易於理解。要點 1 也把陣列看作有序和無序部分,初始時將整個陣列視為無序 2 每次遍歷陣列中的無序部分,且兩兩比較,並將兩者中較大的元素置於後面一位,則一趟遍歷完成後,最大元素自然 沉到 無序部分的最後一位 3 減小無序部分的長度,迴圈第二步,直到陣列...