历史 History
From the beginning of computing, the sorting problem has attracted a great deal of research, perhaps due to the complexity of solving it efficiently despite its simple, familiar statement. Among the authors of early sorting algorithms around 1951 was Betty Holberton (née Snyder), who worked on ENIAC and UNIVAC. Bubble sort was analyzed as early as 1956. Comparison sorting algorithms have a fundamental requirement of O(n log n) comparisons (some input sequences will require a multiple of n log n comparisons); algorithms not based on comparisons, such as counting sort, can have better performance. Although many[who?] consider sorting a solved problem—asymptotically optimal algorithms have been known since the mid-20th century—useful new algorithms are still being invented, with the now widely used Timsort dating to 2002, and the library sort being first published in 2006. 从计算的开始,排序问题已经吸引了大量的研究,也许是由于它的复杂性,有效地解决了它,尽管它简单而熟悉的声明。在1951年左右的早期排序算法的作者之一是Betty Holberton(néeSnyder),他在ENIAC和UNIVAC工作。冒泡排序分析早于1956年.比较排序算法具有的O的基本要求(n log n)比较(一些输入序列将需要的倍数n log n 来比较); 不是基于比较的算法,如计数排序,可以有更好的表现。虽然很多[ 谁?]考虑分选解决的问题渐近最优算法已经自20世纪中叶,实用的新算法仍在被发明着,现在广泛使用的Timsort追溯到2002年,而库排序被首次出版于2006年。
Sorting algorithms are prevalent in introductory computer science classes, where the abundance of algorithms for the problem provides a gentle introduction to a variety of core algorithm concepts, such as big O notation, divide and conquer algorithms, data structures such as heaps and binary trees, randomized algorithms, best, worst and average case analysis, time-space tradeoffs, and upper and lower bounds.排序算法在入门的计算机科学课程中是普遍存在,其中丰富的问题算法为各种核心算法概念提供了温和的介绍,例如大O表示法,分治算法,数据结构如堆和二叉树,随机算法,最佳,最差和平均情况分析,时空折射,以及上下限。
Last updated
Was this helpful?