算法不紮實的程序員,每個都很慌

算法能力的考察,向來是頂級科研機構和IT公司面試時最具備區分度的成分,算法功夫紮實,提升面試效率。

算法長期以來被視作是聰明人的專利,好像有些人天生思路就開闊,遇到問題能馬上整理出計算模型,然後實施巧思,而大多數人則只能望洋興嘆,一籌莫展。

這種想法其實也不無道理,從小接受系統化訓練,參加過信息學競賽或ACM,肯定會對算法問題反應更快一些。可是這樣的人畢竟是極少數,而且即使是他們,也無一不是長期大量地訓練才會不斷進步。這至少說明,算法並非天外之學,而是一種能夠通過訓練掌握的技能。換言之,對於5%的真正難題,也許真的是隻為5%的天才而存在的。但是其餘的95%,卻是95%像你我一樣的普通人自學可以達成的目標。

提升算法能力,小編帶來了一份高效書單。

01 算法入門

算法不紮實的程序員,每個都很慌

算法詳解(卷1)——算法基礎

這本書在美亞評分4.7,在作者倍受歡迎在線算法課程的基礎之上編寫的,是四卷本系列的第1卷。這個在線課程2012年起就定期更新,它建立在作者在斯坦福大學教授多年的本科課程的基礎之上。也許你有所耳聞,這本書就是《算法詳解(卷1)——算法基礎》。如果你更喜歡聽和看,可以在YouTobe上搜索這本書的主題課程,免費觀看。《算法詳解(卷1)——算法基礎》作者蒂姆·拉夫加登(Tim Roughgarden)是斯坦福大學計算機科學系的教授,也是該校管理科學和工程系的客座教授,他從2004年開始教授和研究算法。本書是他的《算法詳解》四部曲的第一卷。這本書詳細講解算法基礎,展現算法本質 ,是一本囊括基本算法知識的詳解指南。集斯坦福大學教授多年教學經驗,深入淺出,通俗易懂。

算法不紮實的程序員,每個都很慌

趣學算法

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

算法不紮實的程序員,每個都很慌

算法謎題

Anany Levitin和Maria Levitin編寫的《算法謎題》一書,實在是令人眼前一亮。說實在的,我本人已經多年沒有在這個領域裡面見到有這麼實用而且好看的作品了。本書的寫作目的就是教你使用算法來解題,但它的定位卻極其精準:它既不做數學演算,也不寫具體代碼,它只講算法。

算法不紮實的程序員,每個都很慌

趣題學算法

一本有趣的、易學的、實用的,幫助讀者快速入門應用的算法書;問題驅動,本書由80多個計算問題分門別類,串聯而成。

算法不紮實的程序員,每個都很慌

Python算法教程

本書作者是暢銷書Python基礎教程(第2版)的作者,在Python領域頗有知名度和權威性。本書用Python語言來講解算法的分析和設計。本書主要關注經典的算法,但同時會為讀者理解基本算法問題和解決問題打下很好的基礎。

算法不紮實的程序員,每個都很慌

Java遺傳算法編程

本書簡單、直接地介紹了遺傳算法,並且針對所討論的示例問題,給出了Java代碼的算法實現。全書共分災6章。第 1章簡單介紹了人工智能和生物進化的知識背景,這也是遺傳算法的歷史知識背景。第 2章給出了一個基本遺傳算法的實現;第4章和第5章,分別針對機器人控制器、旅行商問題、排課問題展開分析和討論,並給出了算法實現。在這些章的末尾,還給出了一些練習供讀者深入學習和實踐。第6章專門討論了各種算法的優化問題。

02 算法面試

算法不紮實的程序員,每個都很慌

百面機器學習 算法工程師帶你去面試

書中收錄了超過100道機器學習算法工程師的面試題目和解答,其中大部分源於Hulu算法研究崗位的真實場景。本書從日常工作、生活中各種有趣的現象出發,不僅囊括了機器學習的基本知識,而且還包含了成為出眾算法工程師的相關技能,更重要的是凝聚了筆者對人工智能領域的一顆熱忱之心,旨在培養讀者發現問題、解決問題、擴展問題的能力,建立對機器學習的熱愛,共繪人工智能世界的宏偉藍圖。“不積跬步,無以至千里”,本書將從特徵工程、模型評估、降維等經典機器學習領域出發,構建一個算法工程師必-備的知識體系;見神經網絡、強化學習、生成對抗網絡等新科研進展之微,知深度學習領域勝敗興衰之著;“博觀而約取,厚積而薄發”,在末一章為讀者展示生活中各種引領時代的人工智能應用。

算法不紮實的程序員,每個都很慌

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

《編程之法:面試和算法心得》涉及面試、算法、機器學習三個主題。書中的每道編程題目都給出了多種思路、多種解法,不斷優化、逐層遞進。本書第 1章到第6章分別闡述字符串、數組、樹、查找、動態規劃、海量數據處理等相關的編程面試題和算法,第7章介紹機器學習的兩個算法—K近鄰和SVM。此外,《編程之法:面試和算法心得》每一章都有“舉一反三”和“習題”,以便讀者及時運用所學的方法解決相似的問題,且在附錄中收錄了語言、鏈表、概率等其他題型。書中的每一道題都是面試的高頻題目,反覆出現在近5年各大公司的筆試和麵試中,對面試備考有著極強的參考價值。

03 算法進階

算法不紮實的程序員,每個都很慌

編程珠璣(續)(修訂版)

● 歷史上偉大的計算機科學著作之一 ● 融深邃思想、實戰技術與趣味軼事於一爐的奇書 ● 帶你真正領略計算機科學之美多年以來,當程序員們推選出心愛的計算機圖書時,《編程珠璣》總是位於前列。正如自然界裡珍珠出自細沙對牡蠣的磨礪,計算機科學大師JonBentley以其獨有的洞察力和創造力,從磨礪程序員的實際問題中凝結出一篇篇不朽的編程“珠璣”,成為世界計算機界名刊《ACM通訊》歷史上受歡迎的專欄,結集為兩部不朽的計算機科學經典名著,影響和激勵著一代又一代程序員和計算機科學工作者。本書為首卷,主要討論計算機科學中本質的問題:如何正確選擇和高效地實現算法。

在書中,作者選取許多具有典型意義的複雜編程和算法問題,生動描繪了歷史上眾大師們在探索解決方案中發生的軼事、走過的彎路和不斷精益求精的歷程,引導讀者像真正的程序員和軟件工程師那樣富於創新性地思考,並透徹闡述和總結了許多獨特而精妙的設計原則、思考和解決問題的方法以及實用程序設計技巧。解決方案的代碼均以C/C++語言編寫,不僅有趣,而且有很大的實戰示範意義。每章後所附習題極具挑戰性和啟發性,書末給出了簡潔的解答。

算法不紮實的程序員,每個都很慌

編程珠璣(第2版•修訂版)

《編程珠璣(第 2版·修訂版)》是計算機科學方面的經典名著。書的內容圍繞程序設計人員面對的一系列實際問題展開。作者JonBentley以其獨有的洞察力和創造力,引導讀者理解這些問題並學會解決方法,而這些正是程序員實際編程生涯中到關重要的。本書的特色是通過一些精心設計的有趣而又頗具指導意義的程序,對實用程序設計技巧及基本設計原則進行了透徹而睿智的描述,為複雜的編程問題提供了清晰而完備的解決思路。《編程珠璣(第 2版·修訂版)》對各個層次的程序員都具有很高的閱讀價值。

04 人工智能算法

算法不紮實的程序員,每個都很慌

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

在學習和研究機器學習的時候,面臨令人眼花繚亂的算法,機器學習新手往往會不知所措。本書從算法和Python 語言實現的角度,幫助讀者認識機器學習。本書專注於兩類核心的“算法族”,即懲罰線性迴歸和集成方法,並通過代碼實例來展示所討論的算法的使用原則。全書共分為7 章,詳細討論了預測模型的兩類核心算法、預測模型的構建、懲罰線性迴歸和集成方法的具體應用和實現。

算法不紮實的程序員,每個都很慌

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

人工神經網絡是由眾多連接權值可調的神經元連接而成,具有大規模並行處理、分佈式信息存儲、良好的自組織自學習能力等特點,能夠完成模式識別、機器學習以及預測趨勢等任務。

本書通過9章內容,並結合Java編程語言,由淺入深地介紹了神經網絡算法的應用。書中涉及神經網絡的構建、神經網絡的結構、神經網絡的學習、感知機、自組織映射等核心概念,並將天氣預測、疾病診斷、客戶特徵聚類、模式識別、神經網絡優化與自適應等經典案例囊括其中。本書在附錄中詳細地指導讀者進行開發環境的配置,幫助讀者更加順利地進行程序開發。

算法不紮實的程序員,每個都很慌

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

● 深入淺出講解自然語言處理和機器學習技術 。 ● 廣受讀者好評的技術讀物,微博總閱讀量超過30萬次 。自然語言處理是研究人機之間用自然語言通信的理論和方法,是人工智能領域的一個重要分支,有著非常廣泛的應用空間。 本書結合作者多年學習和從事自然語言處理相關工作的經驗,力圖用生動形象的方式深入淺出地介紹自然語言處理的理論、方法和技術。本書拋棄繁瑣的證明,提取出算法的核心,幫助讀者儘快地掌握自然語言處理所必備的知識和技能。

算法不紮實的程序員,每個都很慌

機器學習經典算法剖析——基於OpenCV

OpenCV算法精解,機器學習算法必備,十大算法全涵蓋,夯實機器學習數學基礎。本書首先對正態貝葉斯分類器、K近鄰算法、支持向量機、決策樹、AdaBoost、梯度提升樹、隨機森林、極端隨機樹、期望極大值、神經網絡這十大經典的機器學習算法進行具體的原理分析,然後給出OpenCV的相關源碼的逐句解釋,最後完成一個基於OpenCV的應用實例。相信讀者通過這3個步驟的學習,足以實現對算法理解的目的。

算法不紮實的程序員,每個都很慌

圖像局部特徵檢測和描述:基於OpenCV源碼分析的算法與實現

在計算機視覺處理中,特徵指的是能夠解決某種特定任務的信息。圖像局部特徵在目標識別、目標跟蹤、目標匹配、三維重建、圖像檢索等應用中發揮著重要的作用。它是近20年來在計算機視覺領域中研究的熱點問題之一。 本書以OpenCV 2.4.9為研究工具,對其實現的所有最新的特徵檢測和描述算法—Kitchen-Rosenfeld、Canny、Harris、Shi-Tomasi、FAST、MSER、MSCR、SIFT、SURF、BRISK、BRIEF、ORB、FREAK、CenSurE、SimpleBlob等,不僅詳細分析了它們的原理和實現方法,還進行了詳細的源碼解析,並且給出了具體的程序實現範例,充分體現了理論與實踐相結合的特點。

- END -

喜歡的朋友請轉發到朋友圈


分享到:


相關文章: