選擇排序的JavaScript實現
阿新 • • 發佈:2018-09-02
== ava break ons als sort rip chan arr
思想
原址比較的排序算法。即首先找到數結構中的最小值並將其放置在第一位,然後找到第二小的值將其放置在第二位...以此類推。
代碼
function selectionSort(arr) { const length = arr.length; for (let i = 0; i < length - 1; i++) { let minIndex = i; let changeOccur = false; for (let j = i + 1 ; j < length ; j++) { if (arr[j] < arr[minIndex]) { minIndex = j; changeOccur = true; } } if(!changeOccur) { break; } if (minIndex !== i) { const temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } } }
性能分析
- 時間復雜度:最好O(n),平均、最壞O(n^2)
- 空間復雜度: O(1), 不穩定
選擇排序的JavaScript實現