为什么使用排序算法?
-
网上购物时:
-
学生时代座位会按照从矮到高排列
-
查看上课出勤情况时,会按学生学号顺序点名;
-
高考录取时,会按成绩总分降序依次录取等。
网站是如何做到快速地将商品按某种规则有序的呢?
什么是排序?
假设含有n个记录的序列为{r1,r2,……,rn},其相应的关键字分别为{k1,k2,……,kn},需确定 1,2,……,n的一种排列p1,p2,……,pn,使其相应的关键字满足kp1≤kp2≤……≤kpn(非递减或非递增)关系,即使得序列成为一个按关键字有序的序列{rp1,rp2,……,rpn},这样的操作就称为排序。
-
简单来说, 对一序列对象根据某个关键字进行排序
-
多个关键字的排序最终都可以转化为单个关键字的排序
常用术语
稳定与不稳定
- 稳定:如果a原本在b前面,而a=b,排