最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

代碼隨想錄——跟著Carl學算法

2023-03-15 23:27 作者:東門沐雨  | 我要投稿

鏈接:https://pan.baidu.com/s/1AEoaCMgtNhUkoGz2Xzjbsw?pwd=uma5?

提取碼:uma5


而我也被這一魔力所吸引。

十年前我開始學習算法,并且開始寫與算法相關的博客。當時寫算法博客的人還不多,網上能搜索到的算法文章也有限。

很多人沒有寫博客的習慣,因為寫博客在一定程度上確實“耽誤時間”。


不過當時我只是想記錄下來,想著以后如果把這些知識都忘了,至少博客可以證明:曾經我掌握過。

沒想到,算法陪伴我一晃就是十年,從本科到研究生,從一家公司到另一家公司,再到算法圖書的出版……我的每一段人生經歷都在從不同的角度和算法打交道。

隨著多年學習和實踐,我在各種在線判題平臺上積累了上千題,對算法的理解已經有了一套獨特的體系。

同時我也發(fā)現,很多讀者在刷題和學習算法時,真正的苦惱在于沒有一套行之有效的刷題順序。

例如,動態(tài)規(guī)劃是公認的程序員面試里最難掌握的算法,也是出現頻率最高的算法。如果僅僅講解幾道題目,即使再舉一反三也遠遠達不到真正理解的程度。如果把動態(tài)規(guī)劃的題目單純地堆砌在一起,也只會讓人越學越懵,陷入“一看就會,一寫就廢”的怪圈。講清楚一兩道題容易,但把整個動態(tài)規(guī)劃的各個分支講清楚,把每道題目講透徹,并用一套方法論來指導就有難度了。這既是我無數日夜伏案思考、反復推理,要幫助讀者解決的問題,也是本書的使命所在。

對于二叉樹、回溯算法、動態(tài)規(guī)劃等重點數據結構與算法,本書都總結了一套行之有效的方法論,系統性地解決這些算法的相關問題,并把相關題目按照由易到難的順序編排,讓讀者循序漸進地征服算法的一座又一座高山。


本書特色


剛開始學習數據結構與算法,或者在力扣(LeetCode)上刷題的讀者都有這種困惑——從何學起,先學什么,再學什么。很多人刷題的效率低,主要體現在以下三點:


— 難以尋找適合自己的題目。

— 找到了不合適現階段做的題目,結果發(fā)現毫無頭緒。

— 沒有全套的優(yōu)質題解可以參考。


我相信很多讀者對此深有體會,所以我將每一個專題中的題目按照由易到難的順序進行編排,每一道題目所涉及的知識都會有相應的題目做知識鋪墊,做到環(huán)環(huán)相扣。

建議讀者按章節(jié)順序閱讀本書,在閱讀的過程中會發(fā)現題目編排上的良苦用心。

本書不僅在題目編排上精心設計,而且在針對讀者最頭痛的算法問題上做了詳細且深入的講解。

關于動態(tài)規(guī)劃,都知道遞推公式的重要性,但dp數組的含義、dp數組的初始化、遍歷順序,以及如何打印dp數組來排查Bug,這些都很重要。例如,解決背包問題時,遍歷順序才是最關鍵的,也是最難理解的。

關于回溯算法,題目要求集合之間不可重復,那么就需要去重。雖然各種資料都說要去重,但沒有說清楚是“樹層去重”還是“樹枝去重”——這是我為了說明去重的過程而創(chuàng)造的兩個詞匯。

關于KMP算法,都知道使用前綴表進行回退,可什么是前綴表,為什么一定要使用前綴表,根據前綴表進行回退有幾種方式,這些卻沒有說清楚,導致大家看得一頭霧水。

關于二叉樹,不同的遍歷順序的遞歸函數究竟如何安排,遞歸函數什么時候需要返回值,什么時候不用返回值,什么情況下分別使用前、中、后序遍歷,如何實現迭代法,這些都決定了對二叉樹的理解是否到位。

本書我同時針對每一個專題的特點,整理出其通用的解法套路。例如,在二叉樹專題中,總結了遞歸“三部曲”來幫助讀者掌握二叉樹中各種遍歷方式的寫法。回溯算法中的回溯“三部曲”可以幫助讀者理解回溯算法晦澀難懂的過程。動態(tài)規(guī)劃中的動規(guī)“五部曲”可以幫助讀者在一套思考框架下解決動態(tài)規(guī)劃題目。

相信讀者耐心看完本書,會對書中介紹的算法有更深層次的理解。


本書配套資源


本書統一使用C++語言進行講解,對于使用其他語言的讀者,支持Java、Python、Go、JavaScript等多語言版本,同時一些題目還有動畫演示,幫助讀者更好地掌握本書內容。


致謝


這里要感謝錄友們,是你們的支持,讓“代碼隨想錄”從無到有,到最后出版成書與讀者見面。雖然從未謀面,但通過文字,我們已經交流了整整一年有余。真心地感謝每一位錄友。

感謝電子工業(yè)出版社的工作人員,特別是陳曉猛編輯。陳編輯工作認真負責,是非??煽康暮献骰锇椤?/p>

最后我要感謝我的父母——孫世忠先生和馬麗麗女士。父母在我求學的路上給予了我最大的支持,付出了非常多。我無以為謝,謹以此書獻給他們。


孫秀洋(@程序員Carl)


2021年10月11日于深圳南山





代碼隨想錄——跟著Carl學算法的評論 (共 條)

分享到微博請遵守國家法律
额济纳旗| 宜城市| 黔西县| 黄梅县| 海南省| 太原市| 寿宁县| 富蕴县| 巴青县| 安义县| 泾源县| 信丰县| 友谊县| 德保县| 泗水县| 汉寿县| 丹巴县| 宁明县| 门源| 盱眙县| 孝昌县| 垦利县| 商河县| 达州市| 六盘水市| 萨迦县| 郑州市| 石狮市| 且末县| 中西区| 台山市| 泰宁县| 茌平县| 连云港市| 舟曲县| 巴东县| 禄丰县| 邹城市| 昭觉县| 穆棱市| 社旗县|