官术网_书友最值得收藏!

前言

計算機技術博大精深,日新月異,Hadoop、GPU計算、移動互聯網、模式匹配、圖像識別、神經網絡、蟻群算法、大數據、機器學習、人工智能、深度學習等新技術讓人眼花繚亂,稍有遲疑,就會被時代所拋棄。于是,很多IT從業者就開始困惑了,不知道從何學起,到底什么才是計算機技術的基石。其實,究其本質還是最基礎的數據結構與算法知識:Hash、動態規劃、分治、排序、查找等,所以無論是世界級的大型IT企業還是小公司,在面試求職者時,都會考察這些最基礎的知識,無論研究方向是什么,這些基礎知識都是必須熟練掌握的。

本書正是從這些基礎知識點出發,講解了求職過程中常見的數據結構與算法的真題,從而讓求職者能輕松應對算法類的筆試面試題目。本書在寫作風格上推陳出新,對于算法的講解,不僅使用圖文并茂的方式,而且還輔以示例講解,目的就是使講解更容易讀懂。為了能夠寫出精品書籍,我們對每一個技術問題,都反復推敲,與算法精英一起反復論證可行性;對文字,我們咬文嚼字,字斟句酌,所有這些付出,只為讓讀者能夠在讀完本書后有所收獲。

雖然市面上同類型書籍很多,但是,我們相信,我們能夠寫出更適合讀者的高質量精品書籍。為了能夠在有限的篇幅里面盡可能地展現“干貨”,我們題目的選擇上也下了很多工夫。首先,通過搜集近三年以來幾乎所有IT企業的面試筆試算法真題,包括已經出版的其他著作、技術博客、在線編碼平臺、刷題網站等,保證所選樣本足夠全面。其次,在選擇題目時,盡可能不選擇那種一眼就能知道結果的簡單題,也沒有選擇那種怪題、偏題和難題。我們的選題原則是難度適中或者看上去簡單但實際暗藏陷阱。我們力求所選出來的算法真題能夠最大限度地幫助讀者。在真題的解析上,采用層層遞進的寫法,先易后難,將問題抽絲剝繭,使得讀者能夠跟隨作者的思路,一步步找到問題的最優解。

寫作的過程是一個自我提高、自我認識的過程,很多知識,只有深入理解與剖析后,才能領悟其中的精髓,掌握其中的技巧,程序員求職算法也不例外。本書不僅具備了其他書籍分析透徹、代碼清晰合理的優點,還具備以下幾個方面的優勢。

第一,本書分多種語言版本實現:C/C++、Java、C#、Python、PHP、Javascript、Kotlin、Go等,不管讀者側重于哪一種語言,都能夠從書中找到適合自己的內容。書中如果沒有特別強調,則代碼實現均默認使用PHP語言。

第二,每個題目除了有循序漸進的分析以外,還對方法進行了詳細闡述,針對不同方法的時間復雜度與空間復雜度都進行了詳細的分析。除此之外,為了更具說服力,每一種方法幾乎都對應有示例講解輔以說明。

第三,代碼較為規范,完全參照華為編程規范、Google編程規范和編碼規范。程序員要想在團隊中大展拳腳,就離不開合作,而合作的基礎就是共同遵循統一的編碼規范。不僅如此,規范化的編碼往往有助于讀者理解代碼。

第四,除了對題目的講解,還有部分觸類旁通的題目供讀者練習。本書不可能將所有的程序員求職類的數據結構與算法類題目囊括,但是會盡可能地將一些常見的求職類算法題、具有代表性的算法題重點講解,將其他一些題目以練習題的形式展現在讀者面前,以供讀者思考與學習。

本書中引用的部分內容來源于網絡上的無名英雄,無法追蹤到最原始的出處,在此對這些幕后英雄致以最崇高的敬意。沒有學不好的學生,只有教不好的老師,我們希望無論是什么層次的學生,都能毫無障礙地看懂書中所講內容。如果讀者存在求職困惑或是對書中的內容存在異議,都可以通過yuancoder@foxmail.com或330168885@qq.com聯系作者。

猿媛之家

主站蜘蛛池模板: 海林市| 禄丰县| 三原县| 昌都县| 灵台县| 安西县| 高台县| 彭阳县| 寿阳县| 沁源县| 温泉县| 汉沽区| 平陆县| 安泽县| 泽州县| 和顺县| 微博| 吴旗县| 施秉县| 建瓯市| 邹平县| 唐河县| 商河县| 丽水市| 东海县| 襄樊市| 孟津县| 南皮县| 梁河县| 江门市| 获嘉县| 辛集市| 宣恩县| 娱乐| 曲水县| 阿鲁科尔沁旗| 焦作市| 北京市| 大悟县| 五华县| 大竹县|