首先,它是一个排序算法。排序算法是将无序数据组合转化为有序数据组合。有序数据组合的最大优点是,当你定位和采用数据时,会非常方便,因为数据是有序的,所以你可以避免代码设计中很多不必要的麻烦,因为当你推断数据之间的关系时会显示无序的数据快速排序是一种排序,在最坏的情况下,它与其他排序方法没有什么不同,但在最好的情况下,它将比一般的排序方法节省更多的时间。这里的一般排序是指:bubble、hill、insert等常规排序方法。其实我比较喜欢插入,但是对于链表操作比较方便,因为它操作简单
算法时间复杂度的计算方法如下:
1。将运行时间中的所有加法常数替换为常数1;
2。在修改后的运行时函数中保留高位项;
3。如果最高阶项存在且不是1,则删除常数乘以该项;
4。当n增加到一定值时,n的最大幂次项对时间复杂度的影响最大,其他常数项对时间复杂度的影响最大,数项和低幂次项可以忽略不计。
结论:算法消耗的时间等于算法中每条语句的执行时间之和。算法转换成程序后,每条语句执行一次所需的时间取决于指令性能、机器速度和编译生成的代码质量等不确定因素。