數(shù)據(jù)結(jié)構(gòu)與算法之美
鏈接:https://pan.baidu.com/s/1-u06sOETWck5lvsE-PaFgA?pwd=ilge?
提取碼:ilge

1.好評爆表的極客時(shí)間算法專欄網(wǎng)紅達(dá)人,GitHub上算法教程Star數(shù)量上萬的作者新作;
2.10多萬人驗(yàn)證過的、為求職面試者、工程師量身打造的數(shù)據(jù)結(jié)構(gòu)與算法私教課;
3.20個(gè)經(jīng)典數(shù)據(jù)結(jié)構(gòu)與算法,一冊在手,學(xué)習(xí)算法不愁,輕松搞定大廠的面試秘籍;
4.100個(gè)真實(shí)項(xiàng)目場景案例,助力工程師解決項(xiàng)目中的實(shí)際算法難題;
5.300多幅算法手繪圖解,文科生都能學(xué)的懂算法通關(guān)書;
6.力扣(LeetCode)CEO張?jiān)坪疲℉ercy) 、騰訊T4級專家茹炳晟等專家傾力推薦!
內(nèi)容簡介
內(nèi) 容 提 要
本書結(jié)合實(shí)際應(yīng)用場景講解數(shù)據(jù)結(jié)構(gòu)和算法,涵蓋常用、常考的數(shù)據(jù)結(jié)構(gòu)和算法的原理講解、代碼實(shí)現(xiàn)和應(yīng)用場景等。
本書分為11章。第1章介紹復(fù)雜度分析方法。第2章介紹數(shù)組、鏈表、棧和隊(duì)列這些基礎(chǔ)的線性表數(shù)據(jù)結(jié)構(gòu)。第3章介紹遞歸編程技巧、8種經(jīng)典排序、二分查找及二分查找的變體問題。第4章介紹哈希表、位圖、哈希算法和布隆過濾器。第5章介紹樹相關(guān)的數(shù)據(jù)結(jié)構(gòu),包括二叉樹、二叉查找樹、平衡二叉查找樹、遞歸樹和B+樹。第6章介紹堆,以及堆的各種應(yīng)用,包括堆排序、優(yōu)先級隊(duì)列、求Top K、求中位數(shù)和求百分位數(shù)。第7章介紹跳表、并查集、線段樹和樹狀數(shù)組這些比較高級的數(shù)據(jù)結(jié)構(gòu)。第8章介紹字符串匹配算法,包括BF算法、RK算法、BM算法、KMP算法、Trie樹和AC自動(dòng)機(jī)。第9章介紹圖及相關(guān)算法,包括深度優(yōu)先搜索、廣度優(yōu)先搜索、拓?fù)渑判颉ijkstra算法、Floyd算法、A*算法、Z小生成樹算法、Z大流算法和Z大二分匹配等。第10章介紹4種算法思想,包括貪心、分治、回溯和動(dòng)態(tài)規(guī)劃。第11章介紹4個(gè)經(jīng)典項(xiàng)目中的數(shù)據(jù)結(jié)構(gòu)和算法的應(yīng)用,包括Redis、搜索引擎、鑒權(quán)限流和短網(wǎng)址服務(wù)。另外,附錄A為書中的思考題的解答。
盡管本書的大部分代碼采用Java語言編寫,但本書講解的知識(shí)與具體編程語言無關(guān),因此,本書不但適合各種類型的研發(fā)工程師,而且可以作為高校計(jì)算機(jī)相關(guān)專業(yè)師生的學(xué)習(xí)用書和培訓(xùn)學(xué)校的教材。
作者簡介
王爭,前Google工程師,微信公眾號【小爭哥】作者,GitHub上算法教程Star數(shù)排名前列。熱衷分享,致力于通俗易懂地講解數(shù)據(jù)結(jié)構(gòu)和算法,幫助廣大程序員攻克算法學(xué)習(xí)、算法刷題、算法面試三項(xiàng)難關(guān)。
內(nèi)頁插圖


精彩書評
專家推薦
對算法和數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí),是讀者對邏輯思維能力的鍛煉。對于程序員,最為重要的能力是解決問題的能力。學(xué)習(xí)算法、掌握數(shù)據(jù)結(jié)構(gòu)的應(yīng)用,可以讓讀者具備科學(xué)的思維方式。通過對算法和數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí),讀者不但可以提升自己在面試中的競爭力,而且在工作中應(yīng)對邊緣、性能問題時(shí)會(huì)更加從容和自信。本書從常用的數(shù)據(jù)結(jié)構(gòu)與算法入手,采用和實(shí)際工程問題結(jié)合的講解形式,可以帶領(lǐng)讀者系統(tǒng)化地學(xué)習(xí)、解讀這些經(jīng)典的計(jì)算機(jī)科學(xué)知識(shí)。
——張?jiān)坪疲℉ercy) 力扣(LeetCode)CEO
算法之難,在于將精巧的邏輯,通過合適的數(shù)據(jù)結(jié)構(gòu),用編程語言展開。在某種程度上,數(shù)據(jù)結(jié)構(gòu)和算法可以說是計(jì)算機(jī)應(yīng)用領(lǐng)域的底層邏輯,而本書正是我們學(xué)習(xí)這一底層邏輯的必讀圖書。讓我們通過本書的學(xué)習(xí)一起感受算法和數(shù)據(jù)結(jié)構(gòu)之美。
——茹炳晟 騰訊T4級專家
我是本書作者的專欄的訂閱者。本書的特點(diǎn)是對算法的多層次講解,從算法基礎(chǔ)知識(shí)的講解到落地實(shí)踐。如果你是算法知識(shí)的初學(xué)者,那么可以用它來入門;如果你是一個(gè)求職者,那么可以用它來準(zhǔn)備面試。
——?jiǎng)⒊?《趣談網(wǎng)絡(luò)協(xié)議》《趣談Linux操作系統(tǒng)》作者
數(shù)據(jù)結(jié)構(gòu)和算法對于編寫程序的人至關(guān)重要,但是市面上很少有兼顧理論和實(shí)踐的書。即便是對于科班出身的人,也很少有人真正了解算法和數(shù)據(jù)結(jié)構(gòu)的實(shí)際應(yīng)用。本書基本涵蓋了本科階段數(shù)據(jù)結(jié)構(gòu)和算法這兩門基礎(chǔ)課程的內(nèi)容。無論你是在校學(xué)生,還是開發(fā)人員,我向你推薦本書。
——李超 Google工程師
本書由我以前的同事,Google工程師王爭執(zhí)筆。本書內(nèi)容通俗易懂,結(jié)構(gòu)精心安排,讀者讀起來毫不費(fèi)力。本書涵蓋常見的經(jīng)典算法和數(shù)據(jù)結(jié)構(gòu),毫不夸張地說,即使是從業(yè)十幾年的人,也可以從本書中有所收獲。
——柴陽陽 (前)Google工程師
我是本書作者王爭的微信公眾號(小爭哥)的關(guān)注者,在此向?qū)W習(xí)算法的讀者推薦本書。王爭在數(shù)據(jù)結(jié)構(gòu)和算法方面積累深厚,擅長用通俗易懂的語言講解復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和算法。本書是作者多年積累的體現(xiàn),內(nèi)容全面翔實(shí)、通俗易懂、貼近實(shí)戰(zhàn),是一本關(guān)于數(shù)據(jù)結(jié)構(gòu)和算法難得的好書??傊?,學(xué)算法,信小爭哥就對了。
——張強(qiáng) 嗶哩嗶哩技術(shù)專家