排序演算法
時間複雜度
空間複雜度
穩定性快速排序
o(nlogn)
o(logn)
不穩定堆排序
o(nlogn)
o(1)
不穩定希爾排序
o(n^(1.3~1.5))
o(1)
不穩定歸併排序
o(nlogn)
o(n)
穩定基數排序
o(m*n)
o(n)
穩定插入排序
o(n^2)
o(1)
穩定選擇排序
o(n^2)
o(1)
不穩定氣泡排序
o(n^2)
o(1)穩定
排序演算法
20萬個隨機數
100萬個隨機數
1000萬個隨機數
1億個隨機數
插排+三取中+聚集遞迴快排
28ms
127ms
1219ms
12009ms
插排+三取中+聚集非遞迴快排
205ms
325ms
2664ms
18043ms
10行遞迴快排(無優化)
330ms
3402ms
203509ms
遞迴快排(無優化)
33ms
250ms
5702ms
非遞迴快排(無優化)
683ms
4505ms
47941ms
798365ms
歸併排序
46ms
235ms
2631ms
28837ms
希爾排序
47ms
268ms
2829ms
29993ms
堆排序56ms
297ms
4203ms
56959ms
基數排序
480ms
2362ms
24047ms
插入排序
27090ms
選擇排序
53413ms
氣泡排序
125281ms
幾種搜尋演算法原理比一比
a搜尋 總代價 f n g n h n 其中g n 為從初始狀態到達該狀態的代價 這裡乙個狀態也就是a演算法裡常說的乙個節點 h n 為從當前狀態到目標狀態的預估代價。因此,該演算法的思路就是,每次尋找總代價f n 最小的點進行擴充套件,直到找到終點。a 的具體過程可參考這篇部落格,可參考這篇部落格...
比一比才知道 GET vs POST
1,get中資料大小被限制 我們都知道很多老式瀏覽器把url的字串個數被限制在255個之內 雖然現在的新版瀏覽器早就沒有這個蛋疼的限制,但是我們可不敢保證所有來站點訪問的使用者都是使用新版瀏覽器的。所以當我們需要使用者在網頁中填寫一些資訊時,使用get方式肯定會出問題。相反post方法中沒有這個限制...
一比一還原axios原始碼(七) 取消功能
按照慣例,我們先來看下官方的例子 你可以通過axios的canceltoken工廠函式,生成乙個source,然後把這個物件作為引數傳遞給axios,最後,需要取消的時候呼叫source的cancel方法即可。你還可以通過在引數中繫結new canceltoken的引數中的 來賦值執行取消操作。最後...