算法基础 | 青训营笔记

53 阅读1分钟

排序算法是计算机科学中的一类常用算法,用于将一组数据按照某个顺序进行排列。常见的排序算法包括以下几种:

  1. 冒泡排序(Bubble Sort):将相邻的元素两两比较,按照大小交换,从而将最大或最小的元素逐渐 “冒泡” 到数组的末尾。
  2. 选择排序(Selection Sort):从未排序的数组中选择最小的元素,并将其放在数组的第一个位置,然后再从剩余的未排序元素中选择出最小的元素放在第二个位置,以此类推。
  3. 插入排序(Insertion Sort):从已排序的数组中前面找到合适的位置插入新元素,然后将已排序的部分向后移动,以此类推。
  4. 希尔排序(Shell Sort):插入排序的一种改进版,通过将待排序的数组进行分组,按照一定的步长进行插入排序,最终完成整个排序过程。
  5. 归并排序(Merge Sort):将待排序数组一分为二,分别对两个子数组递归进行排序,然后再将两个有序的子数组合并成一个有序的数组。
  6. 快速排序(Quick Sort):挑选一个基准元素,将小于基准元素的元素放在左边,大于基准元素的元素放在右边,然后递归对两个子数组进行快速排序。

这些排序算法有不同的时间复杂度,对于不同大小的数据集选择不同的算法可以提高排序效率。