摘要: 如其名,快速排序(quicksort)是在实践中最快的已知排序算法,平均运行时间是O(NlogN),最坏情况下为O(N^2)。像归并排序一样,它也是一种分治的递归算法。将数组S排序的基本算法由如下4步组成:1. 若S中元素个数是0或1,则返回。2. 取S中任一元素v,称之为枢纽元(pivot)。最好的选择是取S的中值。3. 将S中除去枢纽元其余元素分成两个子集,一个子集S1中的所有元素都比枢纽元小,另一个子集S2中元素都比枢纽元大。4. 分别调用quicksort(S1),quicksort(S2)。《C程序设计语言》一书中将这个算法作为讲解递归的例子,很经典,代码如下:#includ... 阅读全文
posted @ 2013-09-27 18:25 玩的就是 心跳 阅读(222) 评论(0) 推荐(0) 编辑