这里是传送门⇒总结:关于排序算法html
平均时间复杂度 | 最优时间复杂度 | 最差时间复杂度 | 空间复杂度 | 稳定性 | |
---|---|---|---|---|---|
冒泡排序 | O(n2) | O(n2) | O(n2) | O(1) | 稳定 |
优化后 | O(n2) | O(n) | O(n2) | O(1) | 稳定 |
// 使用公用函数Swap // 交换array[i]和array[j] function Swap(array, i, j) { var temp = array[i]; array[i] = array[j]; array[j] = temp; } // 此处传入的array会被直接改变 function BubbleSort(array) { var len = array.length; for (var i = 0; i < len - 1; i++) { for (var j = 0; j < len - i - 1; j++) { if (array[j] > array[j + 1]) { Swap(array, j, j + 1); } } } }
// 此处传入的array会被直接改变 function BubbleSortPlus(array) { var len = array.length; var didswap; for (var i = 0; i < len - 1; i++) { didswap = false; for (var j = 0; j < len - i - 1; j++) { if (array[j] > array[j + 1]) { Swap(array, j, j + 1); didswap = true; } } if (!didswap) { break; } } }