视频字幕
冒泡排序是最基础的排序算法之一。它的工作原理很简单:重复遍历数组,比较相邻的元素,如果顺序错误就交换它们。这个过程会让较大的元素像气泡一样逐渐"冒泡"到数组的末尾。让我们看一个具体的例子。
现在开始第一轮比较。我们从数组的第一个元素开始,比较每对相邻的元素。如果左边的元素大于右边的元素,就交换它们的位置。64大于34,所以交换。64大于25,再次交换。这样继续下去,最大的元素90会逐渐移动到数组的末尾。
让我们看看完整的冒泡排序过程。第一轮后,最大元素90已经到了末尾。第二轮我们只需要比较前6个元素,64会移到倒数第二位。每一轮都会确定一个元素的最终位置,绿色表示已排序的部分。经过5轮比较,整个数组就完全有序了。
这是冒泡排序的Python代码实现。外层循环控制总轮数,内层循环进行相邻元素的比较和交换。我们还加入了优化:如果某一轮没有发生任何交换,说明数组已经有序,可以提前结束。冒泡排序的时间复杂度是O(n²),空间复杂度是O(1),是一种稳定的排序算法。
总结一下冒泡排序的特点。它的优点是算法简单易懂,是稳定的原地排序算法。缺点是时间复杂度较高,不适合处理大数据集。与其他排序算法相比,冒泡排序的性能较差,但它的教学价值很高。冒泡排序适用于教学演示、小规模数据排序等场景。虽然效率不高,但其简单的思想使其成为学习排序算法的经典入门选择。