代码改变世界

排序算法之快速排序

2009-08-04 22:48  ruinet  阅读(1297)  评论(1编辑  收藏  举报

快速排序的基本思想:通过将一趟排序将待排记录分割成两部分,其中一部分均比记录的关键字小,另一部分则均比关键字大,然后再分别对这两部分继续排序。以达到整个序列有序。利用递归算法的思想,将大规模转化成小规模问题。

平均时间复杂度为:O(nlog2n),序列基本有序的情况为最坏情况其时间复杂度为O(n²),空间复杂度为:O(nlog2n),不稳定。

实现过程:

 

实现的第一趟如图,完成第一趟后,然后分别对{24,23,10,35,28}和{90,89}两部分分别进行排序。

 

算法:

 

Code

 

 


free web counter