数据结构与算法 --- 排序算法(一)

💡 原文中文,约4400字,阅读约需11分钟。
📝

内容提要

本文总结了冒泡排序、插入排序和选择排序这三种排序算法。冒泡排序通过多次冒泡操作来排序,插入排序将数组分为已排序区间和未排序区间,选择排序每次选择最小的元素放到已排序区间的末尾。冒泡排序和插入排序是稳定排序算法,选择排序是不稳定排序算法。时间复杂度分别为冒泡排序的最好、最坏和平均情况下,插入排序的最好、最坏和平均情况下,选择排序的最好、最坏和平均情况下。

🎯

关键要点

  • 文章讨论了三种排序算法:冒泡排序、插入排序和选择排序。
  • 冒泡排序通过多次冒泡操作来排序,稳定排序算法,时间复杂度为O(n^2)。
  • 插入排序将数组分为已排序区间和未排序区间,稳定排序算法,时间复杂度为O(n^2)。
  • 选择排序每次选择最小的元素放到已排序区间末尾,不稳定排序算法,时间复杂度为O(n^2)。
  • 冒泡排序和插入排序是原地排序算法,选择排序也是原地排序算法。
  • 冒泡排序的优化可以在没有数据交换时提前结束排序。
  • 插入排序的核心思想是维护已排序区间的有序性,通过比较和移动元素实现。
  • 选择排序的实现思路与插入排序相似,但每次选择最小元素进行交换。
➡️

继续阅读