演算法相關的書籍
⑴ 演算法書籍推薦
《演算法競賽 入門經典》這本書非常不錯就是針對一些競賽而言的演算法書!一下是連接:
http://detail.tmall.com/item.htm?spm=a230r.1.14.23.Q7vqgT&id=39379758362&abbucket=8
書截圖:
加油!!!
⑵ 有哪些學習演算法的入門書籍
原理 入門:《編碼:隱匿在計算機軟硬體背後的語言》
這是一本講述計算機工作原理的書。
不過,你千萬不要因為「工作原理」之類的字眼就武斷地認為,它是晦澀而難懂的。作者用豐富的想像和清晰的筆墨將看似繁雜的理論闡述得通俗易懂,你絲毫不會感到枯燥和生硬。 更重要的是,你會因此而獲得對計算機工作原理較深刻的理解。這種理解不是抽象層面上的,而是具有一定深度的,這種深度甚至不遜於「電氣工程師」和「程序員」的理解。
不管你是計算機高手,還是對這個神奇的機器充滿敬畏之心的菜鳥,都不妨翻閱一下《編碼:隱匿在計算機軟硬體背後的語言》,讀一讀大師的經典作品,必然會有收獲。
實戰 晉升:《編程珠璣》
正如自然界里珍珠出自細沙對牡蠣的磨礪,計算機科學大師 Jon Bentley 以其獨有的洞察力和創造力,從磨礪程序員的實際問題中凝結出一篇篇不朽的編程「珠璣」,成為世界計算機界名刊《ACM通訊》歷史上最受歡迎的專欄,最終結集為兩部不朽的計算機科學經典名著,影響和激勵著一代又一代程序員和計算機科學工作者。
本書為第一卷,主要討論計算機科學中最本質的問題:如何正確選擇和高效地實現演算法。
永恆的經典:《代碼大全》
Steve McConnell 的原作《代碼大全》(第1版)是公認的關於編程的最佳實踐指南之一, 在過去的十多年間,本書一直在幫助開發人員編寫更好的軟體。
現在,作者將這本經典著作全新演繹,融入了最前沿的實踐技術,加入了上百個嶄新的代碼示例, 充分展示了軟體構建的藝術性和科學性。 McConnell匯集了來自研究機構、學術界以及業界日常實踐的主要知識, 把最高效的技術和最重要的原理交織融會為這本既清晰又實用的指南。
無論您的經驗水平如何,也不管您在怎樣的開發環境中工作,也無論項目是大是小, 本書都將激發您的思維並幫助您構建高品質的代碼。
⑶ 《演算法競賽入門經典(第2版)》pdf下載在線閱讀,求百度網盤雲資源
《演算法競賽入門經典(第2版)》(劉汝佳)電子書網盤下載免費在線閱讀
資源鏈接:
鏈接:https://pan..com/s/1hn9oYzCM-fjrw649WmvKyg
書名:演算法競賽入門經典(第2版)
作者:劉汝佳
豆瓣評分:8.9
出版社:清華大學出版社
出版年份:2014-6-1
頁數:464
內容簡介:
《演算法競賽入門經典(第2版)》是一本演算法競賽的入門與提高教材,把C/C++語言、演算法和解題有機地結合在一起,淡化理論,注重學習方法和實踐技巧。全書內容分為12 章,包括程序設計入門、循環結構程序設計、數組和字元串、函數和遞歸、C++與STL入門、數據結構基礎、暴力求解法、高效演算法設計、動態規劃初步、數學概念與方法、圖論模型與演算法、高級專題等內容,覆蓋了演算法競賽入門和提高所需的主要知識點,並含有大量例題和習題。書中的代碼規范、簡潔、易懂,不僅能幫助讀者理解演算法原理,還能教會讀者很多實用的編程技巧;書中包含的各種開發、測試和調試技巧也是傳統的語言、演算法類書籍中難以見到的。
《演算法競賽入門經典(第2版)》可作為全國青少年信息學奧林匹克聯賽(NOIP)復賽教材、全國青少年信息學奧林匹克競賽(NOI)和ACM國際大學生程序設計競賽(ACM/ICPC)的訓練資料,也可作為IT工程師與科研人員的參考用書。
作者簡介:
劉汝佳,1982年12月生,高中畢業於重慶市外國語學校。2000年3月獲得NOI2000全國青少年信息學奧林匹克競賽一等獎第四名,進入國家集訓隊,並因此保送到清華大學計算機科學與技術系。大一時獲2001年ACM/ICPC國際大學生程序設計競賽亞洲-上海賽區冠軍和2002年世界總決賽銀牌(世界第四),2005年獲學士學位,2008年獲碩士學位。
學生時代曾為中國計算機學會NOI科學委員會學生委員,擔任IOI2002-2008中國國家隊教練,並為NOI系列比賽命題十餘道。現為NOI競賽委員會委員,並在NOI 25周年時獲得中國計算機學會頒發的「特別貢獻獎」。
2004年至今共為ACM/ICPC亞洲賽區命題二十餘道,擔任6次裁判和2次命題總監,並應邀參加IOI和ACM/ICPC相關國際研討會,發表論文兩篇。
2004年初作為第一作者出版專著《演算法藝術與信息學競賽》,2009年出版譯著《編程挑戰》,2009年出版《演算法競賽入門經典》,2012年出版《演算法競賽入門經典——訓練指南》。
多年來在全國二十餘個城市進行中學生競賽培訓工作,為北京、上海、吉隆坡等地的著名高校授課與宣講,並多次與TopCoder、網路和網易有道等知名企業合作舉辦比賽,讓更多的IT人才獲得展示自我的平台。
⑷ 學習演算法有什麼入門級的書 或者學習資料。(英語不太好)
《啊哈!演算法》
這本書最大的兩點就是生動有趣,演算法如此枯燥的理論都能在這本書里找到輕松愉悅的講解,並且此書非常切實,一切都以實際應用出發,閱讀中更像是在看故事書或者再玩解謎類游戲。可以在愉快地氛圍中,找到自己的需要學習的部分,讓學習也可以變得更簡單。
《演算法問題實戰策略》
這本書被譽為韓國史上最棒的演算法實戰書,就像書名一樣,全書更側重於實際應用,本書可以讓讀者學到更精妙的演算法結構和設計的技巧,進而提升讀者的在生活中的演算法問題解決能力。
《挑戰程序設計競賽》
這本書主要是針對程序設計競賽的題目,全書對題目進行了非常細致的講解,並且匯總了經典題目和基礎演算法,根據自身的等級可以選擇初、中、高的篇目。由淺入深、由簡入繁的講解非常細致,也介紹了許多的實戰技巧。
⑸ 推薦一些演算法比較好的書
劉汝佳的《演算法藝術與信息學競賽》,這本書很適合搞演算法競賽的看。
《演算法導論》這本書就不用多說了,經典
Udi Manber 的《Introction to Algorithms: A Creative Approach》中文名《演算法引論:一種創造性方法》
當然還有很多書,上面三本我有幸看過
⑹ 演算法書籍求推薦
你好,我大一大二也在弄ACM,然後強烈給你推薦入門書籍《演算法經典入門》,劉汝佳的。不過,這本書是用c寫的,估計對你影響不大,其實敲代碼用c語言挺好的,然後c++的用處就在STL模板庫而已。
⑺ 如何成為演算法工程師 推薦幾本演算法入門書籍
是哪方面的演算法工程師?
信號處理演算法:書比較多,可以看看《數字信號處理》
體征(醫療)信號演算法:先要讀懂醫療的電信號,先看看醫療電信號的書
自動化控制演算法:
軌跡、速度規劃相關,資料很多,直接讀論文更快
控制演算法相關的,可以看看《自動控制原理》
機器人運動學、動力學相關的,可以看看李澤湘的《機器人數學導論》
無人機相關的,也可以看《機器人數學導論》,搜李澤湘學生的論文,看看《李群和李代數》,了解旋量理論,看一下PX4的開源代碼
機器學習/深度學習演算法:李航的《統計學習方法》、搜一下ufldl文檔看一下、還有周志華的西瓜書
通用的可以看看《高等代數》、《最優化原理》和《常微分》
⑻ 計算機專業學演算法的都學些什麼演算法,有什麼書可以看的學的話需要些什麼基礎的
計算機演算法非常多的
A*搜尋演算法
俗稱A星演算法。這是一種在圖形平面上,有多個節點的路徑,求出最低通過成本的演算法。常用於游戲中的NPC的移動計算,或線上游戲的BOT的移動計算上。該演算法像Dijkstra演算法一樣,可以找到一條最短路徑;也像BFS一樣,進行啟發式的搜索。
Beam Search
束搜索(beam search)方法是解決優化問題的一種啟發式方法,它是在分枝定界方法基礎上發展起來的,它使用啟發式方法估計k個最好的路徑,僅從這k個路徑出發向下搜索,即每一層只有滿意的結點會被保留,其它的結點則被永久拋棄,從而比分枝定界法能大大節省運行時間。束搜索於20 世紀70年代中期首先被應用於人工智慧領域,1976 年Lowerre在其稱為HARPY的語音識別系統中第一次使用了束搜索方法。他的目標是並行地搜索幾個潛在的最優決策路徑以減少回溯,並快速地獲得一個解。
二分取中查找演算法
一種在有序數組中查找某一特定元素的搜索演算法。搜索過程從數組的中間元素開始,如果中間元素正好是要查找的元素,則搜索過程結束;如果某一特定元素大於或者小於中間元素,則在數組大於或小於中間元素的那一半中查找,而且跟開始一樣從中間元素開始比較。這種搜索演算法每一次比較都使搜索范圍縮小一半。
Branch and bound
分支定界(branch and bound)演算法是一種在問題的解空間樹上搜索問題的解的方法。但與回溯演算法不同,分支定界演算法採用廣度優先或最小耗費優先的方法搜索解空間樹,並且,在分支定界演算法中,每一個活結點只有一次機會成為擴展結點。
數據壓縮
數據壓縮是通過減少計算機中所存儲數據或者通信傳播中數據的冗餘度,達到增大數據密度,最終使數據的存儲空間減少的技術。數據壓縮在文件存儲和分布式系統領域有著十分廣泛的應用。數據壓縮也代表著尺寸媒介容量的增大和網路帶寬的擴展。
Diffie–Hellman密鑰協商
Diffie–Hellman key exchange,簡稱「D–H」,是一種安全協議。它可以讓雙方在完全沒有對方任何預先信息的條件下通過不安全信道建立起一個密鑰。這個密鑰可以在後續的通訊中作為對稱密鑰來加密通訊內容。
Dijkstra』s 演算法
迪科斯徹演算法(Dijkstra)是由荷蘭計算機科學家艾茲格·迪科斯徹(Edsger Wybe Dijkstra)發明的。演算法解決的是有向圖中單個源點到其他頂點的最短路徑問題。舉例來說,如果圖中的頂點表示城市,而邊上的權重表示著城市間開車行經的距離,迪科斯徹演算法可以用來找到兩個城市之間的最短路徑。
動態規劃
動態規劃是一種在數學和計算機科學中使用的,用於求解包含重疊子問題的最優化問題的方法。其基本思想是,將原問題分解為相似的子問題,在求解的過程中通過子問題的解求出原問題的解。動態規劃的思想是多種演算法的基礎,被廣泛應用於計算機科學和工程領域。比較著名的應用實例有:求解最短路徑問題,背包問題,項目管理,網路流優化等。這里也有一篇文章說得比較詳細。
歐幾里得演算法
在數學中,輾轉相除法,又稱歐幾里得演算法,是求最大公約數的演算法。輾轉相除法首次出現於歐幾里得的《幾何原本》(第VII卷,命題i和ii)中,而在中國則可以追溯至東漢出現的《九章算術》。
最大期望(EM)演算法
在統計計算中,最大期望(EM)演算法是在概率(probabilistic)模型中尋找參數最大似然估計的演算法,其中概率模型依賴於無法觀測的隱藏變數(Latent Variable)。最大期望經常用在機器學習和計算機視覺的數據聚類(Data Clustering)領域。最大期望演算法經過兩個步驟交替進行計算,第一步是計算期望(E),利用對隱藏變數的現有估計值,計算其最大似然估計值;第二步是最大化(M),最大化在 E 步上求得的最大似然值來計算參數的值。M 步上找到的參數估計值被用於下一個 E 步計算中,這個過程不斷交替進行。
快速傅里葉變換(FFT)
快速傅里葉變換(Fast Fourier Transform,FFT),是離散傅里葉變換的快速演算法,也可用於計算離散傅里葉變換的逆變換。快速傅里葉變換有廣泛的應用,如數字信號處理、計算大整數乘法、求解偏微分方程等等。
哈希函數
HashFunction是一種從任何一種數據中創建小的數字「指紋」的方法。該函數將數據打亂混合,重新創建一個叫做散列值的指紋。散列值通常用來代表一個短的隨機字母和數字組成的字元串。好的散列函數在輸入域中很少出現散列沖突。在散列表和數據處理中,不抑制沖突來區別數據,會使得資料庫記錄更難找到。
堆排序
Heapsort是指利用堆積樹(堆)這種數據結構所設計的一種排序演算法。堆積樹是一個近似完全二叉樹的結構,並同時滿足堆積屬性:即子結點的鍵值或索引總是小於(或者大於)它的父結點。
歸並排序
Merge sort是建立在歸並操作上的一種有效的排序演算法。該演算法是採用分治法(Divide and Conquer)的一個非常典型的應用。
RANSAC 演算法
RANSAC 是」RANdom SAmpleConsensus」的縮寫。該演算法是用於從一組觀測數據中估計數學模型參數的迭代方法,由Fischler and Bolles在1981提出,它是一種非確定性演算法,因為它只能以一定的概率得到合理的結果,隨著迭代次數的增加,這種概率是增加的。該演算法的基本假設是觀測數據集中存在」inliers」(那些對模型參數估計起到支持作用的點)和」outliers」(不符合模型的點),並且這組觀測數據受到雜訊影響。RANSAC 假設給定一組」inliers」數據就能夠得到最優的符合這組點的模型。
RSA加密演演算法
這是一個公鑰加密演算法,也是世界上第一個適合用來做簽名的演算法。今天的RSA已經專利失效,其被廣泛地用於電子商務加密,大家都相信,只要密鑰足夠長,這個演算法就會是安全的。
並查集Union-find
並查集是一種樹型的數據結構,用於處理一些不相交集合(Disjoint Sets)的合並及查詢問題。常常在使用中以森林來表示。
Viterbi algorithm
尋找最可能的隱藏狀態序列(Finding most probable sequence of hidden states)。
⑼ 計算機相關專業想學習演算法,需要看哪些書
《演算法與數據結構》,《計算機組成原理,匯編語言》,《數字邏輯》,《編譯原理》,《計算機網路》,《面向對象的程序設計等》。