快排的平均时间复杂度为O(nlogn),最坏时间复杂度为O(n²),空间复杂度为O(1),快排是不稳定的。快排适用于乱序数组,排序快。快排面临的最坏情况就是排序一个已经排序好的数组。 快排的基本概念:选取一个元素作为基准,然后调整元素位置,使得基准左边的元素都小于他,右边的都大于他,然后递归执行,即可排序完整个数组。每一趟基本流程: 选取最左侧元素…
oi.wiki列出的算法和数据结构等等知识非常全面,可以作为一本参考书。 建数组的时候可以留出第0个元素不使用,因为有时候题目的序号是从1开始的,这样方便一些,而且有时候可能会需要一些递推公式,这样第一个元素之前就能够刚好有一个元素可以进行递推。