點個贊,看一看,好習慣!本文 GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收錄,這是我花了3個月總結(jié)的一線大廠Java面試總結(jié),本人已拿騰訊等大廠offer。
另外,原創(chuàng)文章首發(fā)在我的個人博客:blog.ouyangsihai.cn,歡迎訪問。
最近公眾號一直都有朋友問我有沒有好的算法書籍推薦呢,怎么才能夠更好的刷題呢?
我想說,這個確實很多人都有這個問題,特別是對于剛剛學習計算機的同學來說更是一種困擾,記得那會我剛剛學習計算機的時候,很多東西都是自己慢慢摸索的,確實也是浪費了很多的時間,如果說學習有沒有捷徑呢,我想說的是,學習的過程沒有捷徑,但是學習方法是可以有捷徑走的。
回到5年前,如果我能夠更快的摸索到套路,那么,也許比現(xiàn)在還要更好一些,所以,我感覺,當自己不明白怎么走的時候,看看別人的經(jīng)歷,一定會對自己特別有幫助。
說了這么多,這篇文章就來聊聊從入門到拿大廠offer到底至少需要看哪些書籍?
數(shù)據(jù)結(jié)構(gòu)書籍推薦
首先,我還是想推薦一下數(shù)據(jù)結(jié)構(gòu)的書籍,我們都知道,其實,在你能夠?qū)懞盟惴〞r,數(shù)據(jù)結(jié)構(gòu)是必不可少的,這個可以說是你的算法的框架,如果說我們建一棟高樓大廈,那么數(shù)據(jù)結(jié)構(gòu)應(yīng)該就是地基了,數(shù)據(jù)結(jié)構(gòu)穩(wěn)不穩(wěn),也就代表著你的算法能不能寫的好不好,所以,先來推薦幾本數(shù)據(jù)結(jié)構(gòu)的書籍。
《大話數(shù)據(jù)結(jié)構(gòu)》
你以為我第一本書籍我會推薦《數(shù)據(jù)結(jié)構(gòu)與算法(C語言版)》嗎,不,你錯了。
如果讓我重來一遍,我肯定不會首選這本書,當然是對于我來說了,但是,我覺得大部分人應(yīng)該都是跟我一樣的,所以,我還是想推薦更簡單易懂的入門書籍。
從標題估計你就明白了,我第一本要推薦的書籍是《大話數(shù)據(jù)結(jié)構(gòu)》,沒錯就是它了。
為什么推薦它呢?
首先,因為我自己看過這本書,我個人覺得,對于初學者入門來說,簡單易懂的書籍能夠讓初學者對這門藝術(shù)產(chǎn)生興趣,其他的書籍也特別好的,但是,以我的經(jīng)驗來說,當大部分人看到晦澀難懂的書籍的時候,是會很難受的,所以,我就先推薦這本書籍,看了你就知道數(shù)據(jù)結(jié)構(gòu)其實初學也沒那么難嘛!
《數(shù)據(jù)結(jié)構(gòu)與算法分析:java語言描述》
第二本書籍,這是一本外國的教材,但是,我覺得這本書籍特別好,本書把算法分析與有效率的Java程序的開發(fā)有機地結(jié)合起來,深入分析每種算法,內(nèi)容全面、縝密嚴格,并細致講解精心構(gòu)造程序的方法。
這是書籍我是自己看過的,對比其他的書籍,我覺得很好,很多講的很細致,但是,還是會讓你看的比較輕松的,所以,推薦一下。
另外,對于學習Java的初學者來說,是一個福利,因為大學的時候我就是學習Java的,但是,那個時候發(fā)現(xiàn)Java的數(shù)據(jù)結(jié)構(gòu)與算法的書籍真的少,我把圖書館的書籍翻遍了,終于找到了這本書籍,很好的一本書籍。
《數(shù)據(jù)結(jié)構(gòu)(C語言版)》
這本書,我還是要推薦一下,為什么呢,因為我大學學的第一本書就是這本書,但是呢,那時候?qū)W的是真的痛苦,因為太難懂了,不知道是不是我智商不夠用,覺得將的好難,也沒有太多的數(shù)學的東西啊。
結(jié)果我搜了一下知乎,發(fā)現(xiàn)了對這本書的評價。
我覺得評價不高可能還是因為這本書作為大學教材,都是初學者,比較難懂,但是,我覺得并不能就此說這本書不好,如果你從頭再去看這本書的時候,你會發(fā)現(xiàn)他的價值,有個知乎網(wǎng)友這樣說的,這本書都看不懂,算法導論你還看嗎,哈哈,真實。
只能說這本書不適合初學者入門者,但是,必須作為推薦書籍。
好了如果你讀了這三本書了,那么,數(shù)據(jù)結(jié)構(gòu)的知識你應(yīng)該掌握的差不多了,那么,后面,就應(yīng)該看看算法的書籍了。
算法書籍推薦
還是跟數(shù)據(jù)結(jié)構(gòu)的書籍推薦一樣,先推薦入門的書籍,先找到興趣好吧。
《啊哈,算法!》
這本書很好,因為講的很簡單,這本書我也是自己看過的,所以,非常推薦,入門也是比較沒有壓力就可以看完的,而且能夠感受到學習算法的樂趣,跟那么難懂的書籍是不一樣的,當然,要進階,還是得啃難懂的書。
《算法圖解》
這本書也是入門級的書籍,可以供大家選擇。
這是一本像小說一樣有趣的算法入門書,書中有大量的圖解,通俗易懂。
看完上面一本或兩本入門級的書,你就會對數(shù)據(jù)結(jié)構(gòu)和算法有個大概認識和學習。但這些入門級的書缺少細節(jié)、不夠系統(tǒng)。所以想要深入的學習數(shù)據(jù)結(jié)構(gòu)和算法,光看這兩本書肯定是不夠的。
《算法》
這本書如果說算法導論會一定推薦的話,那么這本書也是一定會推薦的書籍,將的很全,但是沒有那么難懂。
按照乎友的說法:《算法》基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)方面說得挺詳細的,結(jié)合代碼,告訴你在程序中大概要怎么用,一個重要角色是API!
這本書我也是看過的,希望大家認真看看。
看到豆瓣評分你就明白了。
《算法導論》
這本書我看過一點點,但是,沒有看下去了,第一個是因為時間原因,第二個是因為有點難懂,數(shù)學的知識很多,有機會再看看。
但是,進階,深入理解,這本書還是必須看的。
ok,看了上面的這些書,其實,你對于數(shù)據(jù)結(jié)構(gòu)和算法就理解的還可以了,但是,并不是代表你就可以拿offer了,你太年輕了,最后一部分,我告訴你,拿offer,還得努力啊。
心疼我的頭發(fā)!!!!
拿offer書籍推薦
其實找工作,還是得要看書的,因為沒有大量的訓練,很多題目就算你會做,你還是不熟練,當然大佬除外了。
《劍指offer》
第一本推薦的書籍《劍指offer》,沒什么說的,找工作的同學都知道,這本書很經(jīng)典了,基本上必須要做的,我雖然沒有看過這本書,但是我自己還是把這本書的題目都做了一遍的。
整體的感覺這本書的難度不大,但是覆蓋的面很廣,很注重方法的介紹,推薦必看的書籍,這本書看完,最好自己再做一遍,面試的基本的題目是可以做出來的,但是,難的還是沒轍。
好好啃,工作有!!!
《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目最優(yōu)解》
這本書是新書,還沒有多少年,但是我覺得很好,因為這本書我自己刷了三遍,沒錯,就是三遍,這本書有500多頁吧,總體難度中等偏上,比劍指offer要難很多,但是里面提供了很多的方法,對于想提高刷題的能力,這本書我是非常推薦看看的,而且要多刷幾遍。
這本書分為:
- 鏈表
- 棧和隊列
- 動態(tài)規(guī)劃
- 字符串
- 數(shù)組
總體的題型非常的全面,難度也有。
leetcode 瘋狂訓練
最后的最后,我還是要給大家提個醒,不要只看書,不動手自己思考刷題,我的經(jīng)驗告訴我,就算你把書看10遍,還是不如你把題目自己刷一遍。
最好的方法:看兩遍書,刷500道leetcode題,我相信你一定找到滿意的工作。
最后,都祝大家拿offer,good luck!
最后,再分享我歷時三個月總結(jié)的 Java 面試 + Java 后端技術(shù)學習指南,這是本人這幾年及春招的總結(jié),已經(jīng)拿到了大廠offer,整理成了一本電子書,拿去不謝,目錄如下:
現(xiàn)在免費分享大家,在下面我的公眾號 程序員的技術(shù)圈子 回復 面試 即可獲取。
有收獲?希望老鐵們來個三連擊,給更多的人看到這篇文章
1、老鐵們,關(guān)注我的原創(chuàng)微信公眾號「程序員的技術(shù)圈子」,專注于Java、數(shù)據(jù)結(jié)構(gòu)和算法、微服務(wù)、中間件等技術(shù)分享,保證你看完有所收獲。
2、給俺點個贊唄,可以讓更多的人看到這篇文章,順便激勵下我繼續(xù)寫作,嘻嘻。
3、另外,原創(chuàng)文章首發(fā)在我的個人博客:blog.ouyangsihai.cn,歡迎訪問。
點贊是對我最大的鼓勵
↓↓↓↓↓↓