-
Aug29
-
冒泡排序(Bubble Sort)
冒泡排序,有时也被称做沉降排序,是一种比较简单的排序算法。这种算法的实现是通过遍历要排序的列表,把相邻两个不符合排列规则的数据项交换位置,然后重复遍历列表,直到不再出现需要交换的数据项。当没有数据项需要交换时,则表明该列表已排序。
冒泡排序(Bubble Sort)复杂度
算法 最好情况 平均情况 最坏情况 空间复杂度 稳定性 冒泡排序 O(n) O(n2) O(n2) O(1) 稳定 ES6实现
- 普通版冒泡排序
function BubbleSort(array) { let len = array.length; for (let i = 0; i < len; i++) { for (let j = 0; j < len-i-1; j++) { if (array[j]> array[j+1]) { [array[j],array[j+1]] = [array[j+1],array[j]]; } } } return array; }
- 优化版冒泡排序
function BubbleSort(originalArray) { const array = [...originalArray]; let swapped; for (let i = 0; i < array.length; i++) { swapped = true; for (let j = 0; j < array.length - i - 1; j++) { if (array[j] > array[j+1]) { [array[j],array[j+1]] = [array[j+1],array[j]] swapped = false; } } if (swapped) { break; } } return array; }
https://www.jianshu.com/p/2fd84fadab5f