简述
快速排序算法:字面意思,一般情况下排序速度很快的排序,分治思想的
应用:排序中最经典,必须掌握
最坏情况时间复杂度O(N2),平均O(nlogn),空间复杂度O(logN)
并且是不稳定的
快排的一般策略
1.每次从数组中选择一个主元(pivot)
2.每次使得主元左边的数比主元小,主元右边的数比主元大
3.分治处理主元左边,分治处理主元右边
附带OJ测试排序算法的链接:排序测试
快排模板
void quick_sort(int a[N], int l , int r
快速排序算法:字面意思,一般情况下排序速度很快的排序,分治思想的
应用:排序中最经典,必须掌握
最坏情况时间复杂度O(N2),平均O(nlogn),空间复杂度O(logN)
并且是不稳定的
1.每次从数组中选择一个主元(pivot)
2.每次使得主元左边的数比主元小,主元右边的数比主元大
3.分治处理主元左边,分治处理主元右边
附带OJ测试排序算法的链接:排序测试
void quick_sort(int a[N], int l , int r