为什么排序算法的英文是 sorting 而不是 ordering。
还真没有怎么研究过这个问题,一般来说数据库中对结果进行排序我们都习惯用 Order By 这个关键字。
所有有关算法的排序都使用的是 Sort。
这个还真有点意思,然后就网上考古了下。
根据英文中的定义, Ordering 定义通常定义为我有一个结果集合,我需要定义一系列的规则来将这个结果集按照某一个特定的顺序显示出来或者从一个已有的结果集变成另外的结果集。
Sorting 的定义是整个排序的过程,是按照何种方法排序的?
理解
通过上面的说法,Order 可以理解为结果,Sort 可以理解为过程。
在中文语境中,这 2 个词没有那么大的区别,因为中文语境通常是以结果为导向的,这也可以解释为什么中文没有时态的概念。
如果是过程的话,如何实现这个过程,这个属于进行的状态和实现的状态,这种情况使用 Sort 会更加合适。
再加上约定俗称,使用 Sort 来表示算法,使用 Order 来表示结果集。