2026/4/8 0:11:30
网站建设
项目流程
网站建设项目流程图,交通局网站建设方案,武强网站建设,老域名新网站推广目录
一、冒泡排序
1.介绍
2.使用模板
3.示例
4.注意事项
二、选择排序
1.介绍
2.使用模板
3.示例
4.注意事项
三、两者对比
四、总结 一、冒泡排序
1.介绍
冒泡排序是一种简单的排序算法#xff0c;通过相邻元素的比较与交换将最大#xff08;或最小#xff…目录一、冒泡排序1.介绍2.使用模板3.示例4.注意事项二、选择排序1.介绍2.使用模板3.示例4.注意事项三、两者对比四、总结一、冒泡排序1.介绍冒泡排序是一种简单的排序算法通过相邻元素的比较与交换将最大或最小的元素逐步“冒泡”到数组的末端。重复此过程直到整个数组有序。2.使用模板3.示例对数组[3, 1, 4, 1, 5]进行冒泡排序第1轮比较相邻元素交换3和1→[1, 3, 1, 4, 5]第2轮交换3和1→[1, 1, 3, 4, 5]第3轮无交换提前退出。4.注意事项优化标志添加swapped标志可避免不必要的循环提升效率。数组越界内循环条件需为j n - 1 - i避免访问array[j1]时越界。稳定性冒泡排序是稳定排序相同元素相对位置不变。二、选择排序1.介绍选择排序通过每次从未排序部分选择最小或最大元素将其放到已排序部分的末尾。重复此过程直到整个数组有序。2.使用模板3.示例对数组[3, 1, 4, 1, 5]进行选择排序第1轮找到最小元素1索引1交换到位置0 →[1, 3, 4, 1, 5]第2轮找到最小元素1索引3交换到位置1 →[1, 1, 4, 3, 5]第3轮找到最小元素3索引3交换到位置2 →[1, 1, 3, 4, 5]4.注意事项交换次数少选择排序交换次数固定为n-1次优于冒泡排序。不稳定性选择排序是不稳定排序相同元素可能交换位置例如[2, 2, 1]排序后变为[1, 2, 2]但原顺序可能改变。性能时间复杂度始终为O(n²)无优化空间。三、两者对比对比维度冒泡排序选择排序时间复杂度平均/最坏O(n²)最好O(n)优化后始终O(n²)空间复杂度O(1)原地排序O(1)原地排序稳定性稳定不稳定交换次数最多n(n-1)/2次固定n-1次适用场景数据基本有序时效率高数据规模小且交换成本高的场景算法思想相邻元素比较交换选择最小元素交换到指定位置四、总结冒泡排序适合数据基本有序的场景通过优化可减少不必要的比较。选择排序交换次数少适合元素交换成本较高的情况如大型对象排序。性能对比在随机数据下两者效率相近但选择排序通常更快交换次数少。