1.插入排序:兩個指針,i從第二個元素開始 往後遍歷,j從i-1開始往前遍歷
插入排序的平均時間複雜度是 O(n^2),數據量較少的時候,排序較合適。
2.快速排序 的核心有兩個注意點:1)遞歸時避免堆棧溢出, 可以計數法或者map法 2)分區函數的效率
分區避免最壞情況下的 空間複雜度 爲 O(n^2),就是分區點在最初或者最末尾,解決辦法:1)隨機數法 2)三木數法
這裏講最普通的取末尾的分區方法:
快排的核心就是這個圖了,分區,不過分區點取最後一個數字是可以優化的。這個就等待你去動手了。