1. 程式人生 > >一份程序員必備的經典算法書單

一份程序員必備的經典算法書單

圖書 人工智能 機器學習

點擊關註 異步圖書,置頂公眾號

每天與你分享 IT好書 技術幹貨 職場知識


技術分享圖片

參與文末話題討論,每日贈送異步圖書

——異步小編

當我們在工作中使用算法時,通常都是希望能更有效地解決問題、使程序運行得更快,並且讓解決方案變得更為簡短。但實際情況如何呢?我們獲得所需要的效率、速度和簡潔性了嗎?為什麽人們在使用Python這種語言時依然要在乎這些事呢?選擇這種語言對於追求高速度的人來說是一個好的開端嗎?為什麽不選擇C或Java這樣的語言呢?

首先,可能是因為Python語言本身很討人喜歡,以至於人們不想換別的語言,或者他們目前也沒有更好的選擇。但最為重要的可能還是第二點,即在這裏,算法設計者們首先要擔心的並不是常數級別的性能差異。即便相關程序完成任務所需要的時間是另一程序的兩倍,甚至十倍,但這樣的速度可能依然是夠快的。況且,那個較慢的程序中可能恰好有某些我們所需要的特性,如它可能有更好的可讀性。而調整和優化程序在很多時候會非常費勁,其代價是不容小視的。然而,無論選擇什麽語言,我們都得考慮一下程序自身的彈性問題。也就是說,如果我們將程序的輸入量翻倍,會發生什麽呢?程序運行時間會是之前的兩倍?四倍?還是更多?或者即便增加那麽一丁點的輸入量也會導致程序運行時間的成倍增長?當您遇到的問題足夠大的時候,這樣的性能差異顯然就不能再靠簡單的語言選擇或硬件選擇來解決了。在面對一個“足夠大”的問題時,我們能抑制運行時間增長的主要武器就只有——您猜對了——一份紮實的算法設計功底了。

今天小編帶來了一份誠意算法書單。

技術分享圖片


技術分享圖片


《趣學算法》

陳小玉 著

點擊封面購買紙書

本書從算法之美娓娓道來,沒有高深的原理,也沒有枯燥的公式,通過趣味故事引出算法問題,包含50多個實例及完美圖解,結合學生提問,分析算法本質,並給出代碼實現的詳細過程和運行結果。

本書可作為程序員的學習用書,也適合從未有過編程經驗但又對算法有強烈興趣的初學者使用,同時也可作為高等院校計算機、數學及相關專業的師生用書和培訓學校的教材。

技術分享圖片


《算法學習與應用從入門到精通》

張玲玲 著

點擊封面購買紙書


本書的特色是實現了入門知識、實例演示、範例演練、技術解惑、綜合實戰5大部分內容的融合,讓讀者看得懂、用得上、學得會。

一本書的容量,講解了入門類、範例類和項目實戰類三類圖書的內容。豐富的配套資源 ,學習更高效。

320個實例,更多的實踐演練機會753分鐘視頻講解,降低學習難度5個綜合案例,項目實戰演練74個技術解惑,破解學習難點“技術講解”→範例演練”→“技術解惑”貫穿全書,全面掌握算法應用技術講解:通過320個實例,循序漸進地講解了算法應用的各個知識點。範例演練: 5個綜合實例,使讀者具有應用算法解決實際項目的能力。技術解惑:把容易混淆的概念單獨講解和剖析,幫助讀者繞過學習中的陷阱。

技術分享圖片


《文本上的算法——深入淺出自然語言處理 》

路彥雄 著

點擊封面購買紙書


微信整合搜索算法組組長路彥雄全新作品,深入淺出講解自然語言處理和機器學習技術,微博總閱讀量超30萬次。

本書結合作者多年學習和從事自然語言處理相關工作的經驗,力圖用生動形象的方式深入淺出地介紹自然語言處理的理論、方法和技術。本書拋棄掉繁瑣的證明,提取出算法的核心,幫助讀者盡快地掌握自然語言處理所必備的知識和技能。本書適合從事自然語言處理相關研究和工作的讀者參考,尤其適合想要了解和掌握機器學習或者自然語言處理技術的讀者閱讀。

技術分享圖片


《算法謎題》

【美】Anany Levitin 著

點擊封面購買紙書


算法是計算機科學領域最重要的基石之一。算法謎題,就是能夠直接或間接地采用算法來加以解決的謎題。求解算法謎題是培養和鍛煉算法思維能力一種最有效和最有樂趣的途徑。

本書是一本經典算法謎題的合集。本書包括了一些古已有之的謎題,數學和計算機科學有一部分知識就發源於此。本書中還有一些較新的謎題,其中有一部分謎題被用作知名IT企業的面試題。全書可分為4個部分,分別是概覽、謎題、提示和答案。概覽介紹了算法設計的通用策略和算法分析的技術,還附帶有不少的實例。謎題部分將謎題按照簡單、中等難度和較難三個層級分別列出。提示部分依次給出謎題提示,幫助讀者找到正確的解題方向,同時仍然為讀者留下了獨立求解的空間。答案部分則給出了謎題的詳細解答。

技術分享圖片


《編程之法:面試和算法心得》

July 著

點擊封面購買紙書



  -蛻變於CSDN技術博客“結構之法算法之道”

  -內容涉及面試、算法、機器學習三大主題 


 -作者數年的積累成果

  -進入IT行業求職筆試和面試寶典

本書涉及面試、算法、機器學習三個主題。書中的每道編程題目都給出了多種思路、多種解法,不斷優化、逐層遞進。第1章至第6章分別闡述字符串、數組、樹、查找、動態規劃、海量數據處理等相關的編程面試題和算法,第7章介紹機器學習的兩個算法—K近鄰和SVM。

此外,每一章都有“舉一反三”和“習題”,以便讀者及時運用所學的方法解決相似的問題,且在附錄中收錄了語言、鏈表、概率等其他題型。書中的每一道題都是面試的高頻題目,反復出現在近5年各大公司的筆試和面試中,對面試備考有著極強的參考價值。

技術分享圖片



技術分享圖片


《Python核心編程(第3版)》

【美】Wesley Chun(衛斯理 春)著

點擊封面購買紙書

暢銷經典的Python書,兼顧Python2和Python3,Python開發人員的案頭常備

Python是一種靈活、可靠且具有表現力的編程語言,它將編譯語言的強大與腳本語言的簡潔性、快速開發特性整合起來。在本書中,Python開發人員兼企業培訓師Wesley Chun會幫助您將Python技能提升到更高的水平。  

本書涵蓋了成為一名技術全面的Python開發人員所需的一切內容。本書講解了應用開發相關的多個領域,而且書中的內容可以立即應用到項目開發中。此外,本書還包含了一些使用Python 2和Python 3編寫的代碼案例,以及一些代碼移植技巧。有些代碼片段甚至無須修改就可以運行在Python 2.x或Python 3.x上。

技術分享圖片


《Python程序設計(第3版)》

【美】John Zelle(策勒)著

點擊封面購買紙書

Python之父作序推薦 ,Python 3 編程入門經典。本書以Python語言為工具教授計算機程序設計。本書強調解決問題、設計和編程是計算機科學的核心技能。本書特色鮮明、示例生動有趣、內容易讀易學,適合Python入門程序員閱讀,也適合高校計算機專業的教師和學生參考。

技術分享圖片


《數據結構 Python語言描述》

【美】Kenneth A. Lambert(蘭伯特) 著

點擊封面購買紙書

在計算機科學中,數據結構是一門進階性課程,概念抽象,難度較大。Python語言的語法簡單,交互性強。用Python來講解數據結構等主題,比C語言等實現起來更為容易,更為清晰。

技術分享圖片


《Python編程快速上手 讓繁瑣工作自動化》

【美】Al Sweigart(斯維加特) 著

點擊封面購買紙書

Python3編程從入門到實踐,新手學習必備用書。美亞暢銷Python編程入門書。

本書快速教讀者掌握Python這一對初學者友好的語言。書中包含了很多實用的示例,供讀者學習和聯系。通過本書,可以學會解決很多實際的任務和需求,包括在一個或多個文件中搜索文本模式、通過創建修改移動和重命名文件和文件夾來組織計算機、抓取數據和信息、更新Excel表格、自動發送郵件和文本消息、組織計算機執行周期性任務等等。

技術分享圖片



技術分享圖片


《Python機器學習——預測分析核心算法》

【美】Michael Bowles(鮑爾斯) 著

點擊封面購買紙書


在學習和研究機器學習的時候,面臨令人眼花繚亂的算法,機器學習新手往往會不知 所措。本書從算法和Python 語言實現的角度,幫助讀者認識機器學習。

本書專註於兩類核心的“算法族”,即懲罰線性回歸和集成方法,並通過代碼實例來 展示所討論的算法的使用原則。全書共分為7 章,詳細討論了預測模型的兩類核心算法、預測模型的構建、懲罰線性回歸和集成方法的具體應用和實現。 本書主要針對想提高機器學習技能的Python 開發人員,幫助他們解決某一特定的項 目或是提升相關的技能。

技術分享圖片


《Python算法教程》

【挪威】Magnus Lie Hetland(赫特蘭) 著

點擊封面購買紙書


暢銷書Python基礎教程(第2版)作者、Python領域大牛又一新力作!知識點清晰,語言簡潔。本書用Python語言來講解算法的分析和設計,主要關註經典的算法,幫助讀者理解基本算法問題和解決問題打下很好的基礎。蘊含大量課後習題和參考資料。

技術分享圖片


《Python機器學習實踐指南》

【美】Alexander T. Combs 著

點擊封面購買紙書


機器學習是近年來漸趨熱門的一個領域,同時Python 語言經過一段時間的發展也已逐漸成為主流的編程語言之一。

本書結合了機器學習和Python 語言兩個熱門的領域,通過利用兩種核心的機器學習算法來將Python 語言在數據分析方面的優勢發揮到極致。 全書共有10 章。第1 章講解了Python 機器學習的生態系統,剩余9 章介紹了眾多與機器學習相關的算法,包括各類分類算法、數據可視化技術、推薦引擎等,主要包括機器學習在公寓、機票、IPO 市場、新聞源、內容推廣、股票市場、圖像、聊天機器人和推薦引擎等方面的應用。 本書適合Python 程序員、數據分析人員、對算法感興趣的讀者、機器學習領域的從業人員及科研人員閱讀。

技術分享圖片


《神經網絡算法與實現——基於Java語言》

Alan M.F. Souza(艾倫)著

點擊封面購買紙書

神經網絡已成為從大量原始的,看似無關的數據中提取有用知識的強大技術。 Java語言是用於實現神經網絡的最合適的工具之一,也是現階段非常流行的編程語言之一,包含多種有助於開發的API和包,具有“一次編寫,隨處運行”的可移植性。

本書完整地演示了使用Java開發神經網絡的過程,既有非常基礎的實例也有高級實例。首先,你將學習神經網絡的基礎知識、感知機及其特征。 然後,你將使用學到的概念來實現自組織映射網絡。 此外,你還會了解一些應用,如天氣預報、疾病診斷、客戶特征分析和光學字符識別(OCR)等。 最後,你將學習實時優化和自適應神經網絡的方法。

今日話題

說說你是怎麽入行的,對即將入門小白有哪些建議?截止時間3月27日17時,留言+轉發本活動到朋友圈,小編將選出1名讀者贈送異步新書一本。點擊此處直接參與活動

延伸推薦

2018年2月新書

2018年1月重磅新書

小學生開始學Python,最接近AI的編程語言:安利一波Python書單

政策升溫:大家都在學大數據,一大波好書推薦

8本新書,送出一本你喜歡的

AI經典書單| 入門人工智能該讀哪些書?

技術分享圖片


長按二維碼,可以關註我們喲

每天與你分享IT好文。


在“異步圖書”後臺回復“關註”,即可免費獲得2000門在線視頻課程;推薦朋友關註根據提示獲取贈書鏈接,免費得異步圖書一本。趕緊來參加哦!

掃一掃上方二維碼,回復“關註”參與活動!


點擊下方閱讀原文,購買《文本上的算法:深入淺出自然語言處理》


閱讀原文



一份程序員必備的經典算法書單