- 時間複雜度的計算方式(Master公式計算遞歸函數的時間複雜度)
- 紅黑樹的瞭解(平衡樹,二叉搜索樹),使用場景
平衡樹是爲了解決二叉查找樹退化爲鏈表的情況,而紅黑樹是爲了解決平衡樹在插入、刪除等操作需要頻繁調整的情況。
- 紅黑樹在STL上的應用
- 貪心算法和動態規劃的區別
- 判斷一個鏈表是否有環,如何找到這個環的起點
- 實現一個strcpy函數(或者memcpy),如果內存可能重疊呢
- 實現一個循環隊列
- 排序算法(寫快排,歸併排序,堆排序),算法的時間複雜度,空間複雜度,是否穩定等
- 快排存在的問題,如何優化
- 反轉一個鏈表
- Top K問題(可以採取的方法有哪些,各自優點?)
- Bitmap的使用,存儲和插入方法
- 二叉樹的先序、中序、後序遍歷(非遞歸實現)
- 二叉樹的公共祖先(簡單地說,劍指offer上的題大都是高頻題)
- 1-n中有多少個1
- 字典樹(前綴樹)的理解以及在統計上的應用
- 並查集的實現(低頻)
- 數組的全排列
- N個骰子出現和爲m的概率
- 海量數據問題(可參考左神的書)
- 一致性哈希
- 線段樹的實現(一般是區間求解問題,低頻)
- KMP,Manacher,Bfprt算法(進階)