插入排序 |
选择排序 |
冒泡排序 |
希尔排序 |
归并排序 |
堆排序 |
快速排序 |
快速排序3 |
|
---|---|---|---|---|---|---|---|---|
随机排列 |
||||||||
接近排序完的 |
||||||||
反向排列 |
||||||||
很少有不同的 |
这些页面在4个不同的初始条件下显示8个不同的排序算法,这些可视化的目的是:
理想的排序算法将具有以下性质:
没有算法能同时具有所有的这些性质,所以排序算法的选择取决于应用程序。
排序是一个巨大的话题;本网站探讨的主题为数组在内存中的泛型算法。外部排序,基数排序,字符串排序,以及链表排序—所有的美妙和有趣的话题—被故意省略掉以限定讨论的范围。
Algorithms in Java, Parts 1-4, 3rd edition by Robert Sedgewick. Addison Wesley, 2003.
Programming Pearls by Jon Bentley. Addison Wesley, 1986.
Quicksort is Optimal by Robert Sedgewick and Jon Bentley, Knuthfest, Stanford University, January, 2002.
Dual Pivot Quicksort: Code and Discussion.
Bubble-sort with Hungarian ("Csángó") folk dance YouTube video, created at Sapientia University, Tirgu Mures (Marosvásárhely), Romania.
Select-sort with Gypsy folk dance YouTube video, created at Sapientia University, Tirgu Mures (Marosvásárhely), Romania.
Sorting Out Sorting, Ronald M. Baecker with the assistance of David Sherman, 30 minute color sound film, Dynamic Graphics Project, University of Toronto, 1981. Excerpted and reprinted in SIGGRAPH Video Review 7, 1983. Distributed by Morgan Kaufmann, Publishers. Excerpt.