#每天一个知识点#
冒泡排序(Bubble Sort)
function bubbleSort(arr) {
const len = arr.length;
for (let i = 0; i < len; i++) {
for (let j = 0; j < len - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
}
}
}
return arr;
}
// 示例
const arr = [5, 3, 8, 4, 2];
console.log(bubbleSort(arr)); // output: [2, 3, 4, 5, 8]
冒泡排序的优点在于其实现简单,易于理解和编写。它适用于小型数据集合和基本有序的数据集合。
时间复杂度:冒泡排序的时间复杂度为 O(n^2),其中n代表数组的长度。它的时间复杂度较高,当数据集规模比较大或者数据比较乱的情况下,性能会比较差。
空间复杂度:冒泡排序的空间复杂度为 O(1),它只需要一个临时变量来交换两个元素的位置,所以它的空间复杂度比较低。
总体来说,冒泡排序的实现非常简单,但性能比较差,所以在实际开发中,一般会选择其他更优秀的排序算法,比如快速排序、归并排序等。
冒泡排序(Bubble Sort)
function bubbleSort(arr) {
const len = arr.length;
for (let i = 0; i < len; i++) {
for (let j = 0; j < len - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
}
}
}
return arr;
}
// 示例
const arr = [5, 3, 8, 4, 2];
console.log(bubbleSort(arr)); // output: [2, 3, 4, 5, 8]
冒泡排序的优点在于其实现简单,易于理解和编写。它适用于小型数据集合和基本有序的数据集合。
时间复杂度:冒泡排序的时间复杂度为 O(n^2),其中n代表数组的长度。它的时间复杂度较高,当数据集规模比较大或者数据比较乱的情况下,性能会比较差。
空间复杂度:冒泡排序的空间复杂度为 O(1),它只需要一个临时变量来交换两个元素的位置,所以它的空间复杂度比较低。
总体来说,冒泡排序的实现非常简单,但性能比较差,所以在实际开发中,一般会选择其他更优秀的排序算法,比如快速排序、归并排序等。
展开
评论
1