sorting algorithm
  • Introduction
  • Wikipedia-sorting-algorithm
  • sorting algorithm
  • 历史 History
  • 分类 Classification
    • 稳定性 Stability
  • 算法比较 Comparison of algorithms
  • 流行排序算法 Popular sorting algorithms
    • 简单排序 Simple sorts
      • 插入排序 Insertion sort
      • 选择排序 Selection sort
    • 高效排序 Efficient sorts
      • 合并排序 Merge sort
      • 堆排序 Heapsort
      • 快速排序 Quicksort
    • 冒泡排序与变种 Bubble sort and variants
      • 冒泡排序 Bubble sort
      • 希尔排序 Shellsort
      • 梳排序 Comb sort
    • 分发排序 Distribution sort
      • 计数排序 Counting sort
      • 桶排序 Bucket sort
      • 基数排序 Radix sort
  • 内存使用模式和索引排序 Memory usage patterns and index sorting
  • 相关算法 Related algorithms
  • 另见 See also
  • 参考文献 References
  • 进一步阅读 Further reading
  • 外部链接 External links
Powered by GitBook
On this page

Was this helpful?

历史 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表示法,分治算法,数据结构如堆和二叉树,随机算法,最佳,最差和平均情况分析,时空折射,以及上下限。

Previoussorting algorithmNext分类 Classification

Last updated 5 years ago

Was this helpful?