JS排序演算法總結 (一)氣泡排序

2022-07-18 12:45:10 字數 793 閱讀 7341

目的:掌握氣泡排序基本思想與過程、**實現、時間複雜度與優化

1、基本思想與過程:

從後向前兩兩比教,大數下沉,小數冒泡,一輪比較後,最小數的位置就排好了,在第乙個位置。重複上述過程,依次將第2.3...n-1個最小數排好位置。

2、**實現:

function

bubblesort(arr)

}console.log('第'+i+'輪的比較次數為'+count);

3、時間複雜度與優化

時間複雜度:o(n2)

優化:如上,第8/9輪的排序沒有意義,

方案:設定標誌位flag,如果發生了交換flag設定為true;如果沒有交換就設定為false。這樣當一輪比較結束後如果flag仍為false,說明資料的順序已經排好,沒有必要繼續進行下去。

function

bubblesort1(arr)

}console.log('第'+i+'輪的比較次數為'+count)

JS排序演算法之氣泡排序

氣泡排序是最簡單,也是耗時最久的排序。總而言之 將每乙個數字相互比較,然後將較大的數字和較小的數字交換位置,直到最大的數字冒泡出來。1 var group 1,9,3,5,0,4 23 function bubblesort1 list 9 10 11return list 12 1314 改進後 ...

氣泡排序演算法總結

氣泡排序演算法應該說是進入程式設計界最簡單又是最經典的演算法。氣泡排序演算法的思路是第乙個元素和第二個元素進行比較,如果第乙個元素大於第二個元素進行位置調換,如果不大於將進行下面的元素就行比較,即第二個元素和第三個元素進行比較,一直這樣比較下去,一直到最大的元素被交換到最後。一趟氣泡排序完成。進行下...

排序演算法 一 氣泡排序

排序的演算法有很多,例如直接插入排序,希爾排序,氣泡排序,選擇排序,快速排序,堆排序等等。最簡單基礎就是氣泡排序了,關於排序hi有乙個系列。今天是第一篇,主要講氣泡排序演算法思想以及從各個方面對它進行優化。氣泡排序 原理舉例 設陣列長度為n。1 比較相鄰的前後二個資料,如果前面資料大於後面的資料,就...