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

前言

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

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

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

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

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

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

第三,代碼較為規范,完全參照華為公司的編程規范等進行規范編碼。小作坊編碼的時代早已過去,程序員要想在一個團隊中大展拳腳,就離不開合作,而合作的基礎就是共同遵循統一的編碼規范。不僅如此,規范化的編碼往往還有助于讀者理解代碼。

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

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

猿媛之家

主站蜘蛛池模板: 老河口市| 天长市| 梨树县| 谢通门县| 镇原县| 吐鲁番市| 永济市| 盘锦市| 新巴尔虎左旗| 信宜市| 陆良县| 潜江市| 阿拉善盟| 开鲁县| 抚宁县| 靖边县| 易门县| 横峰县| 绥中县| 屯留县| 富蕴县| 保靖县| 长治县| 柯坪县| 洪湖市| 额敏县| 井陉县| 湾仔区| 牟定县| 渑池县| 麦盖提县| 抚州市| 鄂托克前旗| 清徐县| 翼城县| 西吉县| 新巴尔虎右旗| 枣庄市| 邵东县| 永和县| 邳州市|