當前位置:成語大全網 - 書法字典 - 程序員掌握的核心算法。快來學習吧。

程序員掌握的核心算法。快來學習吧。

程序員已經掌握了核心算法,並沒有將其包括在內。

1,十大排序算法

簡單排序:插入排序、選擇排序和冒泡排序(必需)

分治排序:快速排序、合並排序(必選,快速排序也要註意中軸線的選擇方法)

分配排序:桶排序和基數排序。

樹排序:堆排序(必需)

其他:計數排序(必修)和希爾學習十大算法。如果妳不懂它們,我還是推薦妳去看書,因為看完書妳可能不僅知道這個算法怎麽寫,還知道它是怎麽來的。推薦的書是《算法第四版》,非常詳細,很好理解,有很多插圖。

3.搜索和回溯算法

貪婪算法(必需)

啟發式搜索算法:A*尋路算法(理解)

地圖著色算法,N皇後問題,最佳加工順序。

旅行商問題之所以方便,只是因為它與某些算法有關。我想如果可能的話,我應該全部學會。就像貪婪算法的思想壹樣,妳必須學會它。建議通過刷題學習,leetcode直接刷題目。

4.動態規劃

樹DP:01背包問題

線性DP:最長公共子序列和最長公共子序列。

區間DP:矩陣的最大值(和與積)

數字遊戲

狀態壓縮DP:旅行推銷員

這裏建議先了解什麽是動態規劃,然後leetcode再刷題。反正壹般都是上面的問題。我後面還會寫下我學到的套路,有點類似於我之前寫的遞歸,是壹種體驗。

5.字符匹配算法

正則表達式

模式匹配:kmp,博耶摩爾我想妳差不多知道KMP和博耶摩爾。

6.流相關算法

最大流:最短增廣路徑,Dinic算法最大流最小割:最大收益問題,網格檢索問題最小成本最大流:最小成本路徑,消遣,我只學過壹些算法,有興趣的可以學學。