這里寫目錄標題
- 由數據范圍反推算法時間復雜度以及算法內容
- 分析時間復雜度
- 看循環
- 實例1
- 實例2
- 固定時間復雜度
- 快排和歸并排序
- 二分
- 高精度算法
- 雙指針算法
- 單鏈表插入刪除操作
- 棧和隊列的操作
- 單調棧和單調隊列
- KMP
- Tire
- 并查集
- 堆
- 哈希表
- BFS、DFS
- 圖的深度優先、寬度優先遍歷
- dijkstra算法
- 樸素版
- 堆優化版
- spfa
- floyd
- prim
- kruskal
- 染色法判斷二分圖
- 匈牙利算法
- 試除法、分解質因數
- 埃氏篩法
- 優化后的篩質數
- 輾轉相除
- 快速冪
- tips
由數據范圍反推算法時間復雜度以及算法內容
分析時間復雜度
看循環
實例1
只有兩個單重循環,或者說一維循環,所以時間復雜度是o(n)
實例2
看最深的循環:o(n*m)可以估算為o(n方)
固定時間復雜度
快排和歸并排序
o(nlogn)
二分
o(logn)
高精度算法
o(n)
雙指針算法
o(n)
單鏈表插入刪除操作
o(1)
棧和隊列的操作
o(1)
單調棧和單調隊列
o(n)
KMP
o(n)
Tire
o(n)
并查集
o(nlogn)
堆
o(logn)
哈希表
o(1)
BFS、DFS
o(n*n!)
圖的深度優先、寬度優先遍歷
o(n+m)
dijkstra算法
樸素版
o(n方)
堆優化版
o(mlogm)
spfa
o(mn)
floyd
o(n三方)
prim
o(n方)
kruskal
o(mlogm)
染色法判斷二分圖
o(n+m)
匈牙利算法
o(n三方)
試除法、分解質因數
o(根號x)
埃氏篩法
o(nlogn)
優化后的篩質數
輾轉相除
o(logn)
快速冪
o(logk)