从本章开始,我们要接触到一类新的算法:排序!
什么是排序(Sorting)
排序完全可以按照字面意义来理解,也就是:排列顺序。
排序算法做得事情,其实就是将一串数据按照某种特定的方式进行排列。
排序算法接受的输入是一个数据列表(此处的列表并不是Python中的list数据类型,而是指一系列虽然“连在一起“,但前后之间并没有顺序关系的元素);输出是一个序列,与输入对应的元素集合是一样的,不过经历了排列的过程,而拥有了顺序。
说得更准确一点:
1.排序算法的输出是输入的一种排列或者重组;
2.排序算法的输出按照递增(或者递减)的顺序进行排列,排列结果为升序(或降序)序列。
小贴士:无论升序还是降序,排序算法其实是一致的,只不过是把较大的放后面还是把较小的放后面的区别而已。既然如此,此后在本课中如果没有特殊说明,我们所说的排序都指升序排序。
无处不在的排行榜
排序是一个操作过程,而这个过程的结果叫做排名(Ranking)。有些时候,排名又会特别被称为:排行榜!
显性排行榜
排名(排行榜)在我们的生活中无处不在,比如: