插入排序与快速排序的核心讲解

1.插入排序:两个指针,i从第二个元素开始 往后遍历,j从i-1开始往前遍历

插入排序的平均时间复杂度是 O(n^2),数据量较少的时候,排序较合适。

2.快速排序 的核心有两个注意点:1)递归时避免堆栈溢出, 可以计数法或者map法 2)分区函数的效率

分区避免最坏情况下的 空间复杂度 为 O(n^2),就是分区点在最初或者最末尾,解决办法:1)随机数法 2)三木数法

这里讲最普通的取末尾的分区方法:

快排的核心就是这个图了,分区,不过分区点取最后一个数字是可以优化的。这个就等待你去动手了。