摘要:
Notes前面的排序都是基于比较排序,有时候不需要比较也可以排序。关键是那些东西有一个好的表示,比如说整数。用decision tree证明,\(\Omega(n \lg n)\)是所有比较排序算法的下界。决策树中间节点表示比较的两个东西,叶子节点表示元素的一个置换,决策树的每条边表示这个算法在这个节点获得的比较信息。每个置换至少出现一次,叶子的数目是n!个。不同算法有不同的决策树。比如最笨的最小值排序。它最短的path是这样的:1跟2~n比较的node –> 2跟3~n比较的node –> 。。。。而快排最短的path是,pivot和其他全部比较的n-1个node –> 中 阅读全文