排序算法

定义

排序算法( SortingalgorithmSorting algorithm )是一种将一组特定的数据按某种顺序进行排列的算法

性质

稳定性

稳定性是指相等的元素经过排序之后相对顺序是否发生了改变。

时间复杂度

时间复杂度用来衡量一个算法的运行时间和输入规模的关系,通常用 O(复杂度)O(复杂度) 表示

OI 竞赛中要考虑的一般是最坏时间复杂度,因为它代表的是算法运行水平的下界,在评测中不会出现更差的结果了

空间复杂度

与时间复杂度类似,空间复杂度用来描述算法空间消耗的规模;一般来说,空间复杂度越小,算法越好

排序算法/类型

插入排序

定义

选择排序(SelectionSelection sortsort)是一种简单直观的排序算法。它的工作原理是每次找出第 ii 小的元素(也就是 a[ia[i ~ n]n] 中最小的元素),然后将这个元素与数组第 ii 个位置上的元素交换