《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》是一本程序員面試寶典! 《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》對(duì)IT名企代碼面試各類(lèi)題目的解進(jìn)行了總結(jié),并提供了相關(guān)代碼實(shí)現(xiàn)。針對(duì)當(dāng)前程序員面試缺乏專(zhuān)業(yè)題目匯總這一痛點(diǎn),《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》選取將近200道真實(shí)出現(xiàn)過(guò)的經(jīng)典代碼面試題,幫助廣大程序員的面試準(zhǔn)備做到萬(wàn)無(wú)一失。“刷”完本書(shū)后,你就是“題王”!
《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》采用題目 解答的方式組織內(nèi)容,并把面試題類(lèi)型相近或者解法相近的題目盡量放在一起,讀者在學(xué)習(xí)本書(shū)時(shí)很容易看出面試題解法之間的聯(lián)系,使知識(shí)的學(xué)習(xí)避免碎片化。《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》將所有的面試題從難到易依次分為“將、校、尉、士”四個(gè)檔次,方便讀者有針對(duì)性地選擇“刷”題。《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》所收錄的所有面試題都給出了解講解和代碼實(shí)現(xiàn),并且提供了一些普通解法和解法的運(yùn)行時(shí)間對(duì)比,讓讀者真切地感受到解的魅力!
《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》中的題目且經(jīng)典,更重要的是,《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》收錄了大量題目和解分析,這些內(nèi)容源自筆者多年來(lái)“死磕自己”的深入思考。 《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》是一本程序員面試寶典! 《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》對(duì)IT名企代碼面試各類(lèi)題目的解進(jìn)行了總結(jié),并提供了相關(guān)代碼實(shí)現(xiàn)。針對(duì)當(dāng)前程序員面試缺乏專(zhuān)業(yè)題目匯總這一痛點(diǎn),《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》選取將近200道真實(shí)出現(xiàn)過(guò)的經(jīng)典代碼面試題,幫助廣大程序員的面試準(zhǔn)備做到萬(wàn)無(wú)一失。“刷”完本書(shū)后,你就是“題王”!
《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》采用題目 解答的方式組織內(nèi)容,并把面試題類(lèi)型相近或者解法相近的題目盡量放在一起,讀者在學(xué)習(xí)本書(shū)時(shí)很容易看出面試題解法之間的聯(lián)系,使知識(shí)的學(xué)習(xí)避免碎片化。《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》將所有的面試題從難到易依次分為“將、校、尉、士”四個(gè)檔次,方便讀者有針對(duì)性地選擇“刷”題。《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》所收錄的所有面試題都給出了解講解和代碼實(shí)現(xiàn),并且提供了一些普通解法和解法的運(yùn)行時(shí)間對(duì)比,讓讀者真切地感受到解的魅力!
《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》中的題目且經(jīng)典,更重要的是,《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》收錄了大量題目和解分析,這些內(nèi)容源自筆者多年來(lái)“死磕自己”的深入思考。
碼農(nóng)們,你們做好準(zhǔn)備在IT名企的面試中脫穎而出、一舉成名了嗎?《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》就是你應(yīng)該擁有的“神兵利器”。當(dāng)然,對(duì)需要提升算法和數(shù)據(jù)結(jié)構(gòu)等方面能力的程序員而言,價(jià)值也是顯而易見(jiàn)的。
如何在IT名企的面試中脫穎而出、一舉成名?《程序員代碼面試指南:IT名企算法與數(shù)據(jù)結(jié)構(gòu)題目解》就是你應(yīng)該擁有的“神兵利器”。“刷”完本書(shū),你就是“題王”!
對(duì)于每一個(gè)程序員來(lái)說(shuō),提升算法和數(shù)據(jù)結(jié)構(gòu)等方面的能力至關(guān)重要。無(wú)數(shù)碼農(nóng)和編程愛(ài)好者“深陷”題海之中,無(wú)論你是為了代碼面試、提升能力而不情愿地刷題,還是愛(ài)好所致沉迷于此,這都是你值得擁有的案頭書(shū)。
這里有你在別處找不到的優(yōu)解分析,有高頻出現(xiàn)在IT名氣代碼面試中的真題,有讓人拍案驚嘆巧妙的題目解法,也有讓你工作中的編程難題迎刃而解的啟發(fā)……
左程云,畢業(yè)于華中科技大學(xué)(本科)、芝加哥大學(xué)(碩士),先后就職于IBM、百度。自2010年起專(zhuān)注刷題至今。除刷題之外,興趣廣泛。
第1章 棧和隊(duì)列
設(shè)計(jì)一個(gè)有g(shù)etMin功能的棧(士 )
由兩個(gè)棧組成的隊(duì)列(尉 )
如何僅用遞歸函數(shù)和棧操作逆序一個(gè)棧(尉 )
貓狗隊(duì)列(士 )
用一個(gè)棧實(shí)現(xiàn)另一個(gè)棧的排序(士 )
用棧來(lái)求解漢諾塔問(wèn)題(校 )
生成窗口zui大值數(shù)組(尉 )
構(gòu)造數(shù)組的MaxTree(校 )
求zui大子矩陣的大小(校 )
第2章 鏈表問(wèn)題
打印兩個(gè)有序鏈表的公共部分(士 )
在單鏈表和雙鏈表中刪除倒數(shù)第K個(gè)節(jié)點(diǎn)(士 )
刪除鏈表的中間節(jié)點(diǎn)和a/b處的節(jié)點(diǎn)(士 ) 第1章 棧和隊(duì)列
設(shè)計(jì)一個(gè)有g(shù)etMin功能的棧(士 )
由兩個(gè)棧組成的隊(duì)列(尉 )
如何僅用遞歸函數(shù)和棧操作逆序一個(gè)棧(尉 )
貓狗隊(duì)列(士 )
用一個(gè)棧實(shí)現(xiàn)另一個(gè)棧的排序(士 )
用棧來(lái)求解漢諾塔問(wèn)題(校 )
生成窗口zui大值數(shù)組(尉 )
構(gòu)造數(shù)組的MaxTree(校 )
求zui大子矩陣的大小(校 )
第2章 鏈表問(wèn)題
打印兩個(gè)有序鏈表的公共部分(士 )
在單鏈表和雙鏈表中刪除倒數(shù)第K個(gè)節(jié)點(diǎn)(士 )
刪除鏈表的中間節(jié)點(diǎn)和a/b處的節(jié)點(diǎn)(士 )
反轉(zhuǎn)單向和雙向鏈表(士 )
反轉(zhuǎn)部分單向鏈表(士 )
環(huán)形單鏈表的約瑟夫問(wèn)題(原問(wèn)題:士 進(jìn)階:校 )
判斷一個(gè)鏈表是否為回文結(jié)構(gòu)(普通解法 士 )
(進(jìn)階解法 尉 )
將單向鏈表按某值劃分成左邊小、中間相等、右邊大的形式(尉 )
復(fù)制含有隨機(jī)指針節(jié)點(diǎn)的鏈表(尉 )
兩個(gè)單鏈表生成相加鏈表(士 )
兩個(gè)單鏈表相交的一系列問(wèn)題(將 )
將單鏈表的每K個(gè)節(jié)點(diǎn)之間逆序(尉 )
刪除無(wú)序單鏈表中值重復(fù)出現(xiàn)的節(jié)點(diǎn)(士 )
在單鏈表中刪除指定值的節(jié)點(diǎn)(士 )
將搜索二叉樹(shù)轉(zhuǎn)換成雙向鏈表(尉 )
單鏈表的選擇排序(士 )
一種怪異的節(jié)點(diǎn)刪除方式(士 )
向有序的環(huán)形單鏈表中插入新節(jié)點(diǎn)(士 )
合并兩個(gè)有序的單鏈表(士 )
按照左右半?yún)^(qū)的方式重新組合單鏈表(士 )
[推薦序1]
2015年春節(jié),因?yàn)楣緲I(yè)務(wù)的快速發(fā)展,我們開(kāi)始尋覓的筆試面試算法講師。幾經(jīng)周折,找到了當(dāng)時(shí)在舉辦線下算法分享的程云,認(rèn)認(rèn)真真地聽(tīng)他講了一堂課,當(dāng)時(shí)就認(rèn)定他就是我們要找的人。
我聽(tīng)過(guò)很多國(guó)內(nèi)ACM選手的算法分享,但是每一次聽(tīng)完以后總覺(jué)得我和那些人永遠(yuǎn)隔著一個(gè)斷裂帶,算法對(duì)我來(lái)說(shuō)遙不可及,而程云講解算法的時(shí)候總能從小的切口講起,由淺入深,環(huán)環(huán)相扣,不知不覺(jué)引你走向算法的核心精髓,那種醍醐灌頂?shù)母杏X(jué)能激發(fā)大家學(xué)習(xí)算法的熱情,并一直推著我們前進(jìn)。
這幾年IT技術(shù)蓬勃發(fā)展,日新月異,對(duì)技術(shù)人才的需求日益增長(zhǎng),程序員招聘市場(chǎng)也如火如荼。在有限的三五輪面試中,國(guó)外流行讓面試者編程解決某些數(shù)據(jù)結(jié)構(gòu)和算法的題目,通過(guò)觀察面試者編碼的熟練程度、思考的速度和深度來(lái)衡量面試者的能力和潛力。國(guó)內(nèi)以百度、阿里、騰訊為首的互聯(lián)網(wǎng)企業(yè)也都逐步開(kāi)始采用算法面試來(lái)篩選人才。
程云出于對(duì)算法的熱愛(ài),長(zhǎng)期泡在careercup、leetcode等筆試面試網(wǎng)站上,編碼解決各種筆試面試編程題,對(duì)各種筆試面試編程題的解題技巧了如指掌。
算法面試普及后,傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和算法課本講得太過(guò)基礎(chǔ),又遠(yuǎn)離求職需求,國(guó)內(nèi)也逐漸出現(xiàn)迎合求職需求的筆試面試工具書(shū),這些書(shū)籍有些過(guò)于應(yīng)試,純粹以通過(guò)面試為導(dǎo)向,程云的書(shū)和那些書(shū)相比,題目更前沿,講解更注重思考思路和代碼的實(shí)踐技巧,對(duì)每個(gè)題目都深挖,同時(shí)根據(jù)自己在線下講課學(xué)員們的反饋,對(duì)每個(gè)編程考題的解題反復(fù)修改,讓思路更清晰。
這本書(shū)不僅可以作為面試代碼指南,還可以作為學(xué)生課后的輔助練習(xí),“刷”題5年,悉數(shù)總結(jié)都沉淀在這本書(shū)里,相信讀者跟著他的引導(dǎo)從頭到尾逐一攻克一定會(huì)有所收獲。
葉向宇
牛客網(wǎng)CEO
[推薦序2]
初次遇見(jiàn)程云是在2014年8月,當(dāng)時(shí)我在上一家公司工作剛好滿(mǎn)4 年,也是在那時(shí)我開(kāi)始想換個(gè)環(huán)境,尋找新機(jī)會(huì),就試著投了一家公司,結(jié)果初次面試遇到算法題就被淘汰了。后來(lái)又面試過(guò)其他一些國(guó)內(nèi)互聯(lián)網(wǎng)公司,也總是卡在算法上。其實(shí),之前我曾經(jīng)自己在家抱著《算法導(dǎo)論》“啃”了幾章,花了1個(gè)月的業(yè)余時(shí)間看了前5 章,后面就沒(méi)再繼續(xù)堅(jiān)持下去。看過(guò)的人都知道,雖然很有用,但實(shí)在很難“啃”。
單調(diào)地看書(shū)很枯燥,于是想到去網(wǎng)上找志同道合的人一起研究,就開(kāi)始“逛”算法論壇。很巧的是,在某個(gè)論壇的算法板塊看到一個(gè)帖子,說(shuō)是在周末有算法交流班,當(dāng)時(shí)我立即報(bào)名,周日的名額已滿(mǎn),我是很幸運(yùn)地“替補(bǔ)”上去的。
還記得初次交流是在程云租的房子里,小小的客廳里放了一張沙發(fā)、兩排椅子和一張桌子,桌上放著筆記本電腦和一臺(tái)大電視,前面還掛著白板。di一次算法交流就在這樣的環(huán)境里開(kāi)始了。
程云講起題來(lái)猶如行云流水,我們聽(tīng)得更是酣暢淋漓,初次聽(tīng)完就愛(ài)上了……當(dāng)然,我說(shuō)的是他的講述。
相信大家都有過(guò)這樣的經(jīng)歷,面對(duì)一道算法題,苦思冥想了半天,還是不知道怎么解,感覺(jué)很沮喪。如果這時(shí)突然有人把解題思路和方法以及代碼都告訴你了,是不是感覺(jué)豁然開(kāi)朗,心情舒暢了?這樣的情景24小時(shí)出現(xiàn)一次就可以讓人感覺(jué)很開(kāi)心,而如果24小時(shí)連續(xù)出現(xiàn)二十次,那將會(huì)是什么感覺(jué)?一個(gè)字:爽!
程云把每一道題都講解得清晰透徹,有的題目難以理解、思路詭異,他就會(huì)不厭其煩地反復(fù)講解,用形象的方式展現(xiàn)復(fù)雜的邏輯,直到大家都聽(tīng)懂為止。給人的感覺(jué)可以說(shuō)是高潮迭起,一波又一波。
后來(lái)進(jìn)行第二次交流時(shí),我?guī)?lái)朋友一起參加。之后的交流中,我和朋友都毫不猶豫地報(bào)名參加。交流的內(nèi)容涉及經(jīng)典算法的高難度題目,也有一些小巧玲瓏的技巧題。難題難得讓人嘆服,巧題巧得讓人玩味。
對(duì)想去國(guó)外大公司就職的程序員來(lái)說(shuō),算法題這一關(guān)是必不可少的。程云講述的題目是他5年“刷”題的經(jīng)驗(yàn)積累而成的,其實(shí)只要掌握題目的解題思路和思想,就足以應(yīng)付國(guó)內(nèi)互聯(lián)網(wǎng)公司程序員職位的算法面試題。不過(guò),要想去國(guó)外的大公司,比如Google、Facebook之類(lèi)的,還是要研究得透徹一些才行。
另外,除應(yīng)付面試之外,還有很重要的一點(diǎn),甚至是更重要的一點(diǎn),就是本書(shū)可以幫我們打開(kāi)思路,因?yàn)楹芏嗨惴}的解法是需要逆向思維的,需要跳出原有的固定思維模式,當(dāng)思維模式被打開(kāi)之后,你會(huì)發(fā)現(xiàn)原有的事物現(xiàn)在看起來(lái)會(huì)有不同的看法,因?yàn)榻嵌茸兞恕2贿^(guò)這只能自己體會(huì)。
后來(lái)才知道,程云舉辦算法交流是為寫(xiě)書(shū)做準(zhǔn)備。用他的話說(shuō):“會(huì)做題不算什么,比我“刷”題多的人我也能找出一大堆,但能給人講明白就不容易了。”于是我后來(lái)又變成了程云在寫(xiě)這本書(shū)期間的試讀者。
在此書(shū)還未上市之前,就能聽(tīng)到作者面對(duì)面地逐一講解每一道題,真是非常難得且寶貴的經(jīng)歷。
如果你和我一樣,對(duì)數(shù)據(jù)結(jié)構(gòu)有個(gè)大概的了解,很想快速掌握算法題的解法技巧,那么這本書(shū)一定適合你!
祝每一位勤奮努力的程序員都能拿到自己滿(mǎn)意的職位!
周寶鑫
一個(gè)程序員
雖然現(xiàn)在沒(méi)怎么用到,但是后面應(yīng)該能用到
看著還不錯(cuò)的
很好很好很喜歡
推薦同學(xué)買(mǎi)的,很好的一本書(shū)
整體還不錯(cuò)
很經(jīng)典的書(shū),大家可以看看
很實(shí)用的面試書(shū)
完美,價(jià)格實(shí)惠,并且全新未拆封。
送過(guò)來(lái)書(shū)都成啥了,煩。字?jǐn)?shù)不夠?
送貨很快的
很不錯(cuò)的一本書(shū),哈哈
正在看呢!!!看起來(lái)不錯(cuò),對(duì)思維有提升。就是快遞慢的跟shit一樣,等了3天,這還是同城呢!!!!
書(shū)很好,但是服務(wù)真的是差,又慢包裝又差,書(shū)買(mǎi)回來(lái)都破損了,還禁止差評(píng),遲早藥丸
物流快,書(shū)的質(zhì)量很高啊,雙11特價(jià)38.7買(mǎi)的,值了
那倒是隨意翻了看,感覺(jué)很不錯(cuò),歸納的很細(xì)致,慢慢學(xué)習(xí)中
快遞很給力,當(dāng)當(dāng)自營(yíng),物流就是快,另外,快遞小哥很熱情
包裝太爛了,直接一個(gè)塑料袋,書(shū)的封面都看得清,還磨破了。
買(mǎi)的時(shí)候沒(méi)注意到Java,還好最近學(xué)Java
書(shū)的封皮感覺(jué)很舊,里面的內(nèi)容和紙張都還不錯(cuò)
書(shū)的內(nèi)容非常好,講解詳細(xì),循序漸進(jìn),里面的代碼是用Java實(shí)現(xiàn)的,不過(guò)可以根據(jù)解題思路自己轉(zhuǎn)為C++
書(shū)是好書(shū),發(fā)貨速度也可以,就是被快遞送貨速度搞的再也沒(méi)心情買(mǎi)當(dāng)當(dāng)?shù)臇|西了,沒(méi)有任何服務(wù)體驗(yàn)可言,一肚子火
_(:з」∠)_之前面試被面試官說(shuō)我的算法不是最優(yōu)解,所以就想買(mǎi)本書(shū)看看最優(yōu)解是怎樣的
不錯(cuò)的一本書(shū),需要好好學(xué)習(xí)和思考里面收錄的題目
里面的算法和數(shù)據(jù)結(jié)構(gòu)講得不錯(cuò),建議代碼加上注釋更好~
書(shū)的內(nèi)容很不錯(cuò),例題講解的很詳細(xì)。但是有些例題并不是最優(yōu)解,建議結(jié)合一下leetcode一起學(xué)習(xí)。
當(dāng)當(dāng)?shù)倪@本書(shū)是第一版印刷,紙質(zhì)和印刷質(zhì)量都不錯(cuò),書(shū)中干貨很多,是作者的誠(chéng)心之作。書(shū)中有一些符號(hào)的小錯(cuò)誤,希望作者和出版社能在之后的版本中改正。總體來(lái)說(shuō)比較滿(mǎn)意。
面試買(mǎi)來(lái)用的,題目很全,基礎(chǔ)差有些算法解釋的再清楚一點(diǎn)就好了
左程云的這本書(shū)非常棒,唯一的缺點(diǎn)是使用Java寫(xiě)的,我是學(xué)C/C++的,看的時(shí)候已經(jīng)把Java忘完了,剛開(kāi)始看有點(diǎn)懵逼