第一:複雜度估算和排序算法(上)html
1) 時間複雜度和空間複雜度,linux
2)認識對數器,面試
0,有一個你想要測試的方法a 1,實現一個絕對正確的可是複雜度很差的方法b 2,實現一個隨機樣本產生器 3,實現比對的方法 4,把方法a和方法b比對不少次來驗證方法a是否正確 5,若是有一個樣本使得比對出錯,打印樣本分析是哪一個方法出錯 6,當樣本數量不少時比對測試依然正確,能夠肯定方法a已經正確
3)冒泡排序算法
4)選擇排序segmentfault
5)插入排序數組
6)如何分析遞歸過程的時間複雜度,代入法,迭代法,公式法,母函數法,差分方程法,遞歸樹法。數據結構
7)歸併排序ide
8)小和問題,將此問題跟歸併排序結合起來。函數
9 ) 快排問題測試
第二:複雜度估算和排序算法(下)
1)荷蘭國旗問題,有隨機求 012210這樣的組合隊列,將數據進行排序實現00001111222這樣的排序,桶排
2)隨機快速排序
3)堆結構與堆排序
5)認識比較器
6)桶排序
7)計數排序
8)基數排序
9)數組排序後的最大差值問題
10)排序算法在工程中的應用,
第三:章棧、隊列、鏈表、數組和矩陣結構
1)棧結構,出棧,入棧
2)隊列結構,火車隧道
3)鏈表結構,單鏈表,雙鏈表,鏈表的翻轉。
4)數組結構,簡單的數組結構
5)矩陣結構
6)二分搜索的擴展,
第四:二叉樹結構
1)二叉樹結構
2)二叉樹的遞歸與非遞歸遍歷
3)打印二叉樹
4)判斷搜索二叉樹
5)判斷徹底二叉樹
6)判斷平衡二叉樹
7)摺紙問題
8)二叉樹節點的前驅節點與後繼節點
9)二叉樹的序列化和反序列化
第五:和哈希函數有關的三個結構與並查集
1)哈希函數與哈希表
2)布隆過濾器詳解
3)一致性哈希結構
4)並查集結構與應用(島問題)
第六:章圖算法
1)圖結構的表示方法
2)圖的深度優先遍歷與寬度優先遍歷
3)拓撲排序問題
4)最小生成樹問題
5)單源最短路徑問題
第七:前綴樹、堆結構和貪心算法
1)前綴樹
2)堆結構的擴展與應用
3)介紹貪心算法及其相關題目
4)在面試中如何快速的嘗試出貪心策略
第八:暴力遞歸到動態規劃
1)遞歸
2)動態規劃
3)如何把暴力遞歸套路的變成動態規劃
算法高級:
第一:KMP算法和Manacher算法
1)KMP算法及其擴展面試題目
2)Manacher算法及其擴展面試題目
第二:窗口內最大值的更新結構和單調棧結構
1)窗口內最大值的更新結構
2)單調棧結構
第三:Morris遍歷和sortedMap
1)二叉樹的Morris遍歷
2)跳錶結構
3)AVL樹和紅黑樹結構,平衡二叉樹跟紅黑樹
【今日頭條、拼多多題目】
分類算法的理解
聚類算法的理解
特徵選擇算法的理解
集成提高的理解
【面試題目】
大數據題目