排序 氣泡排序與選擇排序

2021-10-02 23:26:58 字數 1019 閱讀 7226

最近複習大學學過的演算法,這裡做個筆記。

排序,我們學過

這裡需要了解什麼是時間複雜度,什麼是空間複雜度。簡單而言,時間複雜度指執行的次數,空間複雜度指消耗的記憶體。

它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從z到a)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。

**如下

function bubblesort (arr) 

}} return arr

}let arr = [3, 2, 4, 9, 1, 5, 7, 6, 8]

let arrsorted = bubblesort(arr)

console.log(arrsorted)

// [1, 2, 3, 4, 5, 6, 7, 8, 9]

它的工作原理是:第一次從待排序的資料元素中選出最小(或最大)的乙個元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小(大)元素,然後放到已排序的序列的末尾。

實現**:

function selectionsort(arr) 

// 由小到大排序,把最小值放在前面

let temp = arr[i]

arr[i] = arr[minindex]

arr[minindex] = temp

} return arr

}let arr = [3, 2, 4, 9, 1, 5, 7, 6, 8]

let arrsorted = selectionsort(arr)

console.log(arrsorted)

// [1, 2, 3, 4, 5, 6, 7, 8, 9]

選擇排序與氣泡排序

今早心血來潮,又想看看氣泡排序.於是乎度娘一番,找到了度娘給我的這篇文章,前面的文字描述還是簡單易懂的,可惜給出的 示範有些文不對題.於是乎又wiki一番.發現上文給出的 形似選擇排序,於是總結如下 我們假設有乙個陣列 624159 對應的索引也就是 0 5,如果我想描述第二個位置,也就是數字2的位...

選擇排序與氣泡排序

選擇排序 static void sort1 int arr var temp arr i arr i arr min arr min temp 氣泡排序 static void sort2 int arr static void main string args sort1 arr foreach...

氣泡排序與選擇排序

氣泡排序 bubble sort 輸入 亂序n長陣列 輸出 排序好的n長陣列 時間複雜度 o n 2 空間複雜度 o 1 氣泡排序的原理是對陣列多次掃瞄,每次掃瞄都對相鄰的兩個元素的順序進行調整。假設我們按公升序排列陣列,那麼相鄰兩個元素中如果左邊的元素大於右邊的元素,就交換這兩個元素位置,否則不交...