算法-排序之快速排序
几大基本排序中最牛b的算法就是快速排序了,从它的名字也可以看出来,不然怎么敢叫快速排序,不过并不代表它在所有的情况下都是最好的,只是它的综合性能是最好的。
快速排序是在冒泡排序的基础上改进的,其基本思想是通过一趟排序将待记录列分成两部分,其中一部分记录匀比另一部分记录小,然后再分别对两部分记录继续排序。说白点就是递归嘛,递归是怎么来的,分治法嘛。这个分治法很重要,麻省理工大学的算法导论中的有时间了写篇文章分享下,
然后来说说其实现吧,快速排序有很多种实现,各种改进算法,这里就不一一讨论了,只介绍两种常见的最简单的实现,一种是国内常见的快排实现,另一种是在网易公开课中的算法导论中看到的。
先介绍第一种的思想: