简介
冒泡排序(Bubble Sort)是一种简单的排序算法,适用于小规模数据集。其基本思想是通过重复遍历待排序的数组,比较相邻的元素并交换它们的位置,以此将较大的元素逐步“冒泡”到数组的末尾。算法的名称源于其运行过程中,较大的元素像水中的大气泡一样逐渐浮到顶部。
排序过程
for (int i = 0; i < num.length - 1; i++) {
for (int j = 0; j < num.length - 1 - i; j++) {
int t = num[j];
if (num[j] > num[j + 1]) {
num[j] = num[j + 1];
num[j + 1] = t;
}
}
}
算法分析
时间复杂度:O()
空间复杂度: O(1)
优点:
实现简单:冒泡排序的算法逻辑非常直观,易于理解和实现。
适合小规模数据:当数据集较小时,冒泡排序仍然是有效的。
缺点:
效率较低:当数据量较大时,由于时间复杂度为 O(n2)O(n^2)O(n2),冒泡排序的效率不如一 些更高级的排序算法,如快速排序和归并排序。
频繁交换:冒泡排序的元素交换次数较多,可能会影响性能,特别是对于大规模数据集。