视频字幕
冒泡排序是最基础的排序算法之一。它的工作原理是重复地遍历要排序的数列,比较相邻的元素,如果它们的顺序错误就把它们交换过来。这个过程会重复进行,直到没有需要交换的元素为止。让我们通过一个具体的例子来看看冒泡排序是如何工作的。
现在开始第一趟排序。我们从数组的第一个元素开始,比较相邻的两个元素。首先比较5和1,因为5大于1,所以需要交换它们的位置。然后继续比较下一对相邻元素,重复这个过程,直到最大的元素8移动到数组的末尾。
继续第一趟排序的过程。现在比较5和4,因为5大于4,所以交换位置。接着比较5和2,5大于2,再次交换。最后比较5和8,因为5小于8,所以不需要交换。经过第一趟排序,最大的元素8已经到达了数组的末尾,这个位置已经确定不会再改变。
接下来进行第二趟和第三趟排序。在第二趟中,我们只需要对前4个元素进行比较,因为最后一个元素8已经在正确位置。通过比较和交换,元素4和2交换位置,最终5也到达了正确的位置。第三趟排序中,我们只需要对前3个元素进行比较,这时发现数组已经基本有序,只需要很少的交换操作。
冒泡排序现在完成了!我们成功将数组从[5,1,4,2,8]排序为[1,2,4,5,8]。冒泡排序的时间复杂度是O(n²),空间复杂度是O(1),它是一个稳定的排序算法。虽然冒泡排序效率不高,不适合处理大规模数据,但它实现简单,容易理解,是学习排序算法的很好起点。