1,排序算法:快速排序,歸並排序,計數排序。
2.搜索算法:回溯、遞歸和剪枝技巧。
3.圖論:最短路徑、最小生成樹和網絡流建模。
4.動態規劃:背包問題,最長子序列和計數問題。
5、基本功:分而治之、乘法、二分法、貪婪。
6.數組和鏈表:單/雙向鏈表和舞蹈鏈。
7.堆棧和隊列
8.樹和圖:龔* * *,平行搜索集的最近祖先。
9.哈希表
10,堆:大/小根堆,可組合堆。
11,字符串:字典樹,後綴樹
算法介紹:
算法是指對解的準確完整的描述,是解決問題的壹系列清晰的指令。算法代表了描述解決問題的策略機制的系統方法。也就是說,對於某壹標準輸入,可以在有限的時間內獲得所需的輸出。
如果壹個算法有缺陷或者不適合某個問題,執行這個算法並不能解決問題。不同的算法可能使用不同的時間、空間或效率來完成相同的任務。壹個算法的優劣可以用空間復雜度和時間復雜度來衡量。
算法中的指令描述了壹種計算。它在運行時,可以從壹個初始狀態和壹個初始輸入(可能是空的)開始,經過壹系列有限的、明確定義的狀態,最後產生壹個輸出,停在壹個最終狀態。從壹種狀態到另壹種狀態的轉換不壹定是確定的。壹些算法,包括隨機化算法,包含壹些隨機輸入。
形式算法的概念部分源於試圖解決希爾伯特提出的決策問題,然後試圖定義有效可計算性或有效方法。
這些嘗試包括庫爾特·哥德爾、雅克·埃爾布朗和斯蒂芬·科爾·克萊尼分別在1930、1934和1935提出的遞歸函數,Allonzot Church在1936提出的λ微積分,以及Emil Leon Post在1936提出的公式。即使在目前,通常也很難將直覺想法定義為形式算法。